我尝试像这样解析一些JSON:
{
"results": [
"MLU413843206",
"MLU413841098",
"MLU413806325",
"MLU413850890",
"MLU413792303",
"MLU413843455",
"MLU413909270",
"MLU413921617",
"MLU413921983",
"MLU413924015",
"MLU413924085"
]
}
在我尝试获取值本身之前,一切都很好,例如:
// The JSON is shown above
var jsonResp = JObject.Parse(json);
var items = jsonResp["results"].Children();
我不知道如何获取每个值都转换为字符串。 有人知道如何做到这一点吗?
你已经成功了一半。 可以使用 System.Linq
命名空间中的 Select()
方法将从 Children()
方法返回的IEnumerable<JToken>
投影到IEnumerable<string>
中。 从那里,您可以使用 foreach
循环访问值,或使用 ToList()
(或两者)将值放入List<string>
中。
string json = @"
{
""results"": [
""MLU413843206"",
""MLU413841098"",
""MLU413806325"",
""MLU413850890"",
""MLU413792303"",
""MLU413843455"",
""MLU413909270"",
""MLU413921617"",
""MLU413921983"",
""MLU413924015"",
""MLU413924085""
]
}";
JObject jsonResp = JObject.Parse(json);
List<string> items = jsonResp["results"].Children()
.Select(t => t.ToString())
.ToList();
foreach (string item in items)
{
Console.WriteLine(item);
}
小提琴:https://dotnetfiddle.net/Jcy8Ao