gpt4 book ai didi

c# - 从动态 JSON 属性 C# 中获取值

转载 作者:行者123 更新时间:2023-12-04 02:06:59 24 4
gpt4 key购买 nike

我正在 WCF 上工作,我想明智地获取记录列表数组日期,我需要数组键作为在记录中具有共同点的日期,如下所示:

{  
"EventAppGetAllSessionByCustomerIdResult":{
"02/22/2017":[
{
"SessionDate":"02/22/2017"
}
],
"08/27/2016":[
{
"SessionDate":"08/27/2016"
}
],
"Status":{
"Description":"Successfull!",
"Status":1
}
}
}

基本上,我想提取 SessionDate 的值.

最佳答案

我假设你想提取 "SessionDate"来自您的 JSON 的属性。我建议使用 JObject.Parse()方法。

JObject jObject = JObject.Parse(json);
var result = (JObject)jObject["EventAppGetAllSessionByCustomerIdResult"];

var dates = new List<string>();
foreach(JProperty prop in result.Properties())
{
if (prop.Name != "Status")
{
var values = jObject["EventAppGetAllSessionByCustomerIdResult"][prop.Name].Values<string>("SessionDate");
dates.AddRange(values);
}
}

小解释:

在你的情况下 "02/22/2017"是具有对象数组的属性。每个对象都有 "SessionDate"保值的属性(property)。因此,以下行将从 "SessionDate" 中提取值所有对象:
var values = jObject["EventAppGetAllSessionByCustomerIdResult"][prop.Name].Values<string>("SessionDate");
values表示来自单个属性的所有日期。在您的情况下,它可以来自 "02/22/2017"或来自 "08/27/2016" .
dates将是 "SessionDate" 的列表值。当然,您必须自己处理可能出现的异常。

关于c# - 从动态 JSON 属性 C# 中获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42591947/

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