如何从C#中的输入json中获取键值



我有一个格式为的json

{{
"encoding_version": 1,
"root": {
"_type": "dictionary",  
"test1": 0,
"test2": 6593,
"test3": ".key.test",
"test4": "key.test",
"test5": ".key.14",     
"test6": 6159
}
}}

我想得到"test5"的值,它是14

var data = (JObject)JsonConvert.DeserializeObject(inputJson);
var id = data["test5"];


但是如果它为null,请帮助。

您提供了带有两次卷曲大括号的JSON,我在您的输入JSON:中做了这个小更正

{
"encoding_version": 1,
"root": {
"_type": "dictionary",
"test1": 0,
"test2": 6593,
"test3": ".key.test",
"test4": "key.test",
"test5": ".key.14",
"test6": 6159
}
}

由于您的反序列化是正确的,并且您正在查找"test5"的值,即".key.14"。您想要的密钥是JSON中的两个级别,即首先选择"root",然后选择"test5"。因此,您的代码将看起来像:

string test5Value = (string)result["root"]["test5"]; 

输出=>密钥.14

如果您想要14,那么您可能需要拆分输出字符串并取出所需的值。

最新更新