1

我有这样的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;}
}

什么应该是三个点?

4

3 回答 3

3

您的 json 包含一个 object O。该对象有一个成员data,它是从字符串或整数到类别对象的字典。所以尝试类似:

class Root
{
    public Dictionary<int, Category> data;
}

var o = JavaScriptSerializer.Deserialize<Root>(json);
于 2013-03-30T18:32:10.390 回答
2

如果您使用的是 servicestack.text 就做

var v = myJson.FromJson();

不要忘记,最好在使用 servicestack 进行序列化时使用 servicestack。

于 2013-03-30T14:15:07.670 回答
0

在 JSON.NET 项目中将 Json 对象反序列化为 c# 类的最佳方法(在 codeplex 上找到)

the deserialize example is:

JsonConvert.DeserializeObject<Category>(jsonString);
于 2013-04-03T06:51:23.333 回答