を持つJSONからC#でのDataContractクラスを作成します。私が欲しい、今私はこのようなサンプルJSON持って動的に生成されたキーに
[System.Runtime.Serialization.DataContract]
public class Rootobject
{
[System.Runtime.Serialization.DataMember]
public attr[] attrs { get; set; }
}
[System.Runtime.Serialization.DataContract]
public class attr
{
[System.Runtime.Serialization.DataMember]
public string AttributeId { get; set; }
[System.Runtime.Serialization.DataMember]
public string AttributeName { get; set; }
[System.Runtime.Serialization.DataMember]
public string AttributeValue { get; set; }
}
:
{"'1234xxxxxx'":[{"AttributeId":"1","AttributeName":"Brand","AttributeValue":""},{"AttributeId":"2","AttributeName":"Color","AttributeValue":"Red4"},{"AttributeId":"3","AttributeName":"Size","AttributeValue":"44"},{"AttributeId":"4","AttributeName":"Resolution","AttributeValue":"Full HD"}]}
を私はこのようなサンプルのDataContractのクラスを作成しましたDataContractJsonSerializerとmemorystreamを使用して属性にアクセスすることができますが、私のjsonのキー '1234xxxxxx'は毎回動的に生成されるという問題があります。では、C#コードの属性にどのようにアクセスする必要がありますか?
'DataContractJsonSerializer'は厳しい要件ですか?あなたはJson.NETを使用できませんか? –
デシリアライズするよりもstring.replaceできます。 – Miguel
DataContractを使用して[JSONの変数名付きパラメータの逆シリアル化]の複製のように見えます(https://stackoverflow.com/questions/33024768/json-deserialization-of-variable-named-parameter-using-datacontract/33027529#33027529)。または、[UseSimpleDIctionaryFormat'を使って 'Dictionary>'をシリアライズしてください(https://stackoverflow.com/questions/4559991/any-way-to-make-datacontractjsonserializer-serialize-dictionaries-properly)/27223290#27223290)。 –
dbc