如何使用C#从下面的JSON字符串中选择Test中的Id?
{
"Test": [
"Hello",
{
"Id": 5
}
]
}
这是我在Text中阅读内容的方法,但我无法通过执行同样的操作来访问Id
。
var test = JObject.Parse(MyJsonString)["Test"];
答案 0 :(得分:-1)
在C#中处理JSON的简洁方法是使用表示JSON结构的类并将JSON解析为它们。例如,您可以使用json2csharp生成这些类。让我们假设您已经生成了一个类Test
作为解析目标:
using Newtonsoft.Json;
private static readonly JsonSerializerSettings StrictJsonSettings = new JsonSerializerSettings {
MissingMemberHandling = MissingMemberHandling.Error
};
Test test = JsonConvert.DeserializeObject<Test>(MyJsonString, StrictJsonSettings);
var jsonId = test[1].Id;
hacky方法是将结果转换为dynamic
:
var parsedJson = JObject.Parse(MyJsonString) as dynamic;
var jsonId = parsedJson.Test[1].Id;