我创建了一个Web服务来接收来自Android json的数据。
我收到的json是:
{
"assignmentId":"5476",
"newProductName":"ALGOBOX NET USB",
"Attributes": {
"Ammyy": "fvhbhgfc",
"Database": "h j j i i ",
"Plan": "555555555"
}
}
我想反序列化json,虽然我设法反序列化根元素,但是无法反序列化嵌套:
"Attributes": {
"Ammyy": "fvhbhgfc",
"Database": "h j j i i ",
"Plan": "555555555"
}
问题是属性必须是动态的(Ammmy,数据库等),所以我不能用这些字符串创建一个类。我想将嵌套对象反序列化为Dictionary或KeyValuePair。
我创建的类是:
public class RequestDataNewProduct
{
public string assignmentId { get; set; }
public string newProductName { get; set; }
public List<Atts> Attributes { get; set; }
}
public class Atts
{
public List<KeyValuePair<string, string>> Attributes { get; set; }
}
任何帮助?
答案 0 :(得分:0)
你的json的C#类型等效应该看起来像 -
public class Attributes
{
public string Ammyy { get; set; }
public string Database { get; set; }
public string Plan { get; set; }
}
public class RequestDataNewProduct
{
public string assignmentId { get; set; }
public string newProductName { get; set; }
public Attributes Attributes { get; set; }
}
然后只是反序列化它 -
var t = JsonConvert.DeserializeObject<RequestDataNewProduct>(json); //success
Console.WriteLine(t.Attributes.Ammyy); //fvhbhgfc