c# - 将Json Property的Property反序列化为Property

标签 c# json.net

在 json.net 中,如何反序列化这个 json:

{
    "items": {
        "count": 1,
        "data": [
             { 
                 ...
             },
             ...
        ],
    }
}

对于这个 C# 类:

class MyData
{
    [JsonProperty("items/data")] // this doesn't work
    public List<object> Items { get; set; }
}

-

// Then this doesn't populate Items
MyData data = JsonConvert.DeserializeObject<MyData>(json);

是否有使用 json.net 的优雅方法?

最佳答案

我只是想到了如何做到这一点:

var jObject = JObject.Parse(json);
jObject["items"] = jObject["items"]["data"];

MyData data = JsonConvert.DeserializeObject<MyData>(jObject.ToString());

谁有更好的解决方案?

关于c# - 将Json Property的Property反序列化为Property,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21964304/

相关文章:

c# - 使用 Json.Net 处理数据中的换行符

c# - 如何使用合约解析器和值提供者在反序列化过程中自定义值设置

c# - 使用特定的模式来实现接口(interface)

c# - 棋子的 future 流动性

c# - Win32.DestroyIcon 与 Icon.Dispose

c# - 最大限度地减少迁移到 Azure Blob 存储对代码的影响

c# - 最佳使用 Windows 服务重复程序调用

mongodb - 是否可以在没有 "$"的情况下在 JSON.Net 中获得多态反序列化?

c#在序列化时重命名派生属性

javascript - 从 Jquery 获取 Json 列表