gpt4 book ai didi

.Net Linq 到 JSON 与 Newtonsoft JSON 库

转载 作者:行者123 更新时间:2023-12-03 18:11:31 32 4
gpt4 key购买 nike

我有一些 JSON 发送到我的网络服务,看起来像这样。

{
root: [
{
"key": "foo1",
"val": "150"
},
{
"key": "foo2",
"val": "220"
},
{
"key": "foo3",
"val": "300"
},
{
"key": "dataid",
"val": "2289"
}
]
}

假设我想返回 val 的值哪里 key等于 "dataid" .我将如何使用 JSON.Net 来做到这一点图书馆?

我知道我可以遍历这些值来找到它,但对象很可能比这里的这个例子大得多。

提前致谢

最佳答案

好吧,某些事情将不得不在某个时候循环。如果您需要从同一个 JSON 中通过键获取大量值,您可能应该构建一个 Dictionary<string, string>从它 - 这意味着循环一次(显式或使用 LINQ ToDictionary 方法),但之后可以快速访问。

这是一些示例代码:

using System;
using System.IO;
using System.Linq;

using Newtonsoft.Json.Linq;

class Test
{
static void Main()
{
string text = File.ReadAllText("test.json");
JObject obj = JObject.Parse(text);
JArray root = (JArray) obj["root"];

var dictionary = root.ToDictionary(x => (string) x["key"],
x => (string) x["val"]);

Console.WriteLine(dictionary["dataid"]);
}
}

关于.Net Linq 到 JSON 与 Newtonsoft JSON 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5033178/

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