-7
如何从C#下面的JSON字符串中选择Test内的Id?如何阅读这个JSON字符串?
{
"Test": [
"Hello",
{
"Id": 5
}
]
}
这是我如何可以读取里面文本内容,但我不能做同样的事情访问Id
。
var test = JObject.Parse(MyJsonString)["Test"];
如何从C#下面的JSON字符串中选择Test内的Id?如何阅读这个JSON字符串?
{
"Test": [
"Hello",
{
"Id": 5
}
]
}
这是我如何可以读取里面文本内容,但我不能做同样的事情访问Id
。
var test = JObject.Parse(MyJsonString)["Test"];
在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;
的哈克的方式是投结果作为dynamic
:
var parsedJson = JObject.Parse(MyJsonString) as dynamic;
var jsonId = parsedJson.Test[1].Id;
什么会“同样的事情”是什么? '[ “测试”] [1] [ “ID”]'? – Ryan
当你调试你的测试变量时,你看到了什么? – BugFinder
@Ryan谢谢你的工作。但是[1]在[“Test”]和[“Id”]之间做了什么?我在之前没有[1]的尝试,但它没有奏效。介意解释? – Muppen