gpt4 book ai didi

c# - 使用 C# 解析复杂的 JSON 对象

转载 作者:行者123 更新时间:2023-11-30 15:36:34 24 4
gpt4 key购买 nike

我有一个像这样的 JSON:

{
"name" : "MyCustomName",
"my_node" : {
"name" : "my_node_name"
},
"dict1":"value1",
"dict2":"value2",
"dict3":"value3",
...
}

和一个对象:

class Node{
string value;
}

class Sample:IDictionary<string, string>{
Node node;
string name;
}
Sample 类中的

NodeName 始终存在。问题是我不知道会有多少个“dictN”字段……这就是重点。

问题是:如何将该 JSON 反序列化为该对象?

最佳答案

编辑:显然即使协调了字段名称,您的反序列化器也无法处理特定字段与一般字典字段的组合。

在这种情况下,我只建议反序列化为 Dictionary<string, object>并构建结果:

var d = new JavaScriptSerializer().Deserialize<Dictionary<string, object>>(json);
Sample s = new Sample();
s.name = (string)d["name"];
Node n = new Node();
n.value = (string)((Dictionary<string, object>)d["my_node"])["name"];
foreach (var key in d.Keys.Except(new string[] { "name", "my_node" }))
{
s.Add(key, (string)d[key]);
}

关于c# - 使用 C# 解析复杂的 JSON 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13629511/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com