这是我与JSON的第一项工作。我已经在Visual Studio Project中安装了JSON.NET,并用来挑选一些简单的字符串:
{
"A":"1",
"B":"2",
"C":"3"
}
使用此代码:
JToken token = JObject.Parse("{ "A":"1","B":"2","C":"3"}";
string aValue = token.SelectToken("A");
string aValue = token.SelectToken("B");
string aValue = token.SelectToken("C");
,但我不知道该如何处理这样的JSON:
{
"LIST":[
{
"A":"value1",
"B":"value1",
"C":"value1"
}
{
"A":"value2",
"B":"value2",
"C":"value2"
}
{
"A":"value3",
"B":"value3",
"C":"value3"
}
],
"D":"value4",
"E":"value5",
"F":"value6"
}
如何获取类型的所有元素和其他变量(例如D,E和F?
)谢谢
最简单的方法是创建对象并将其逐个序列化:
public class Parent
{
public Child[] LIST { get; set; }
public string D { get; set; }
public string E { get; set; }
public string F { get; set; }
}
public class Child
{
public string A { get; set; }
public string B { get; set; }
public string C { get; set; }
}
一旦定义了课程,请将您的JSON划分为:
var p = JsonConvert.DeserializeObject<Parent>(json);
@贾斯汀的答案很好,效果很好。但是,如果您想像现在一样继续使用Linq-to-json API样式,这就是您可以获取所有信息的方法:
JToken token = JToken.Parse(jsonString);
foreach (JToken t in token["LIST"])
{
Console.WriteLine(t["A"]);
Console.WriteLine(t["B"]);
Console.WriteLine(t["C"]);
}
Console.WriteLine(token["D"]);
Console.WriteLine(token["E"]);
Console.WriteLine(token["F"]);