gpt4 book ai didi

c# - 使用 System.Text.Json 使用动态键查询或反序列化 json

转载 作者:行者123 更新时间:2023-12-05 02:09:20 29 4
gpt4 key购买 nike

我有看起来像这样的 json,键“123”可以是任何数字。

 {
"key1": "",
"key2": {
"items": {
"123": {
"pageid": 123,
"name": "data"
}
}
}
}

我想用 System.Text.Json 反序列化或查询 json,这样我就可以获得键“name”的值。我如何使用 System.Text.Json 做到这一点?我正在使用 .NET Core 3.1。

最佳答案

由于其中一个 json 键可能不同 ( "123" ),因此可以用 Dictionary<> 表示.以下类为您的 json 建模。

public class ItemProps
{
public int pageid { get; set; }
public string name { get; set; }
}

public class Item
{
public Dictionary<string, ItemProps> items { get; set; }
}

public class Root
{
public string key1 { get; set; }
public Item key2 { get; set; }
}

然后使用 System.Text.Json 反序列化你会使用:

var data = JsonSerializer.Deserialize<Root>(json);

访问name :

var name = data.key2.items["123"].name

Try it online

请注意,我快速命名了类...请考虑为类提供更好的名称,更具描述性的名称。

关于c# - 使用 System.Text.Json 使用动态键查询或反序列化 json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60089463/

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