gpt4 book ai didi

c# - 反序列化 name 属性为数字的 json 字符串

转载 作者:行者123 更新时间:2023-11-30 13:46:11 35 4
gpt4 key购买 nike

我有一个返回以下 json 的网络服务

{
"1": 1.654764367578323,
"3": 1.654764367578323,
"4": 1.654764367578323,
"6": 1.654764367578323,
"12": 1.13901127184207
}

此外可能有 10 或 15 或 24 如下所示。所以我需要检查json字符串中是否有以下名称 1,3,4,6,10,15,24

{
"1": 1.654764367578323,
"3": 1.654764367578323,
"4": 1.654764367578323,
"6": 1.654764367578323,
"10": 1.13901127184207
}

我想反序列化上面的json所以我试了一下

dynamic d = JsonConvert.DeserializeObject(jsonstring);

但我无法执行 d.1 并获得值 1.654764367578323。

但是,在 watch 中我得到“预期的表达结束”

最佳答案

您可以将 JsonConvert.DeserializeObject(jsonstring) 返回的对象转换为 JObject,然后您可以从那里读取值,就像这样。

JObject d = (JObject)JsonConvert.DeserializeObject(jsonString);
string value1 = d["1"].Value<string>();

这里是 Demo

您始终可以检查返回的 JToken 是否为 null,如果 JObject 无法找到索引器中提供的属性,它将为 null。

bool attributeExist = d[attribute] != null;

参见 Here

关于c# - 反序列化 name 属性为数字的 json 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22950710/

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