在ServiceStack中反序列化带有编号键的Json

本文关键字:编号 Json ServiceStack 反序列化 | 更新日期: 2023-09-27 18:06:41

我有一个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;}
}

应该用什么代替三个点?

在ServiceStack中反序列化带有编号键的Json

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

class Root
{
    public Dictionary<int, Category> data;
}
var o = JavaScriptSerializer.Deserialize<Root>(json);

如果你使用的是servicestack。文字只是做

var = myJson.FromJson();

请不要忘记,当序列化也使用servicestack时最好使用servicestack。

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

反序列化的例子是:

JsonConvert.DeserializeObject<Category>(jsonString);