c# - 在 ServiceStack 中使用带编号的键反序列化 Json

标签 c# json deserialization servicestack

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

应该用什么代替三个点?

最佳答案

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

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

var o = JavaScriptSerializer.Deserialize<Root>(json);

关于c# - 在 ServiceStack 中使用带编号的键反序列化 Json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15718818/

相关文章:

php - 从 JSON 请求中移除 DOM 标签

cJSON键值解析

java/jackson - 链式@JsonValue 注释和反序列化

python - 在 Python 中序列化/反序列化类对象的最佳方法是什么?

php - 如何使用变量评估 json 成员?

c# - 使用 JSON.NET 解析 C# 中的 Json

c# - 防止点击事件传播到父元素 xaml

c# - 为什么检查字典是否包含键会更快,而不是在不存在时捕获异常?

c# - WebApi 2.0 RouteAttribute 错误

c# - Chrome 83 中取消的 HTTP 请求