gpt4 book ai didi

c# - Json.Net 根据值选择对象

转载 作者:太空狗 更新时间:2023-10-30 00:41:44 26 4
gpt4 key购买 nike

我有一个看起来像这样的 Json 对象:

{
wvw_matches: [
{
wvw_match_id: "1-4",
red_world_id: 1011,
blue_world_id: 1003,
green_world_id: 1002,
start_time: "2013-09-14T01:00:00Z",
end_time: "2013-09-21T01:00:00Z"
},
{
wvw_match_id: "1-2",
red_world_id: 1017,
blue_world_id: 1021,
green_world_id: 1009,
start_time: "2013-09-14T01:00:00Z",
end_time: "2013-09-21T01:00:00Z"
}
]
}

它在数组中包含的对象比上面的示例显示的要多得多。无论如何,我需要根据 wvw_match_id 选择 Json 对象。

我将如何实现这一目标? :)

最佳答案

由于从评论中可以看出您已经对使用 JObject 和 Linq 的想法感到满意,这里有一个示例程序演示了如何通过 ID 从 JSON 中获取特定匹配项使用这种方法:

class Program
{
static void Main(string[] args)
{
string json = @"
{
wvw_matches: [
{
wvw_match_id: ""1-4"",
red_world_id: 1011,
blue_world_id: 1003,
green_world_id: 1002,
start_time: ""2013-09-14T01:00:00Z"",
end_time: ""2013-09-21T01:00:00Z""
},
{
wvw_match_id: ""1-2"",
red_world_id: 1017,
blue_world_id: 1021,
green_world_id: 1009,
start_time: ""2013-09-14T01:00:00Z"",
end_time: ""2013-09-21T01:00:00Z""
}
]
}";

string matchIdToFind = "1-2";
JObject jo = JObject.Parse(json);

JObject match = jo["wvw_matches"].Values<JObject>()
.Where(m => m["wvw_match_id"].Value<string>() == matchIdToFind)
.FirstOrDefault();

if (match != null)
{
foreach (JProperty prop in match.Properties())
{
Console.WriteLine(prop.Name + ": " + prop.Value);
}
}
else
{
Console.WriteLine("match not found");
}

}
}

输出:

wvw_match_id: 1-2
red_world_id: 1017
blue_world_id: 1021
green_world_id: 1009
start_time: 9/14/2013 1:00:00 AM
end_time: 9/21/2013 1:00:00 AM

关于c# - Json.Net 根据值选择对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18926781/

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