gpt4 book ai didi

c# - 当我事先不知道 key 时,如何在 C# 中解析 JSON 对象?

转载 作者:可可西里 更新时间:2023-11-01 02:59:30 25 4
gpt4 key购买 nike

我有一些 JSON 数据,如下所示:

{
"910719": {
"id": 910719,
"type": "asdf",
"ref_id": 7568
},
"910721": {
"id": 910721,
"type": "asdf",
"ref_id": 7568
},
"910723": {
"id": 910723,
"type": "asdf",
"ref_id": 7568
}
}

我如何使用 JSON.net 解析它?我可以先这样做:

JObject jFoo = JObject.Parse(data);

我需要能够遍历此列表中的每个对象。我希望能够做这样的事情:

foreach (string ref_id in (string)jFoo["ref_id"]) {...}

foreach (JToken t in jFoo.Descendants())
{
Console.WriteLine((string)t["ref_id"]);
}

但这当然行不通。如果您在编写代码时知道 key ,那么所有示例都非常有用。如果您事先不知道 key ,它就会崩溃。

最佳答案

这是可行的;这可行,但并不优雅。我确信有更好的方法。

var o = JObject.Parse(yourJsonString);

foreach (JToken child in o.Children())
{
foreach (JToken grandChild in child)
{
foreach (JToken grandGrandChild in grandChild)
{
var property = grandGrandChild as JProperty;

if (property != null)
{
Console.WriteLine(property.Name + ":" + property.Value);
}
}
}
}

打印:

id:910719type:asdfref_id:7568id:910721type:asdfref_id:7568id:910723type:asdfref_id:7568

关于c# - 当我事先不知道 key 时,如何在 C# 中解析 JSON 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8855494/

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