我有这样的Json:
{
data:{
"50":{"id":"50","name":"test", etc...},
"51":{"id":"51","name":"test", etc...},
"53":{"id":"53","name":"test", etc...},
...
}
}
反序列化这个Json的正确方法是什么?
[增订]
我想我必须调整我的问题。是否可以使用具有对象描述的类来解析Json。例如。我有这样的类和Json,我用 .FromJson()解析:
public class Data
{
public ...
}
public class Category
{
public int Id{get;set;}
public string Name{get;set;}
}
应该是三个点?
答案 0 :(得分:3)
您的json包含一个对象O
。此对象具有成员data
,该成员是从字符串或整数到类别对象的字典。所以尝试类似的事情:
class Root
{
public Dictionary<int, Category> data;
}
var o = JavaScriptSerializer.Deserialize<Root>(json);
答案 1 :(得分:2)
如果您正在使用servicestack.text,请执行
var v = myJson.FromJson();
不要忘记,当使用servicestack进行序列化时,最好使用servicestack。
答案 2 :(得分:0)
在JSON.NET项目中将Json对象反序列化为c#类的最佳方法(在codeplex上找到)
反序列化示例是:
JsonConvert.DeserializeObject<Category>(jsonString);