在C#中,要遍历JSON对象(JToken),可以使用JToken.Parse
方法将JSON字符串解析为JToken
对象,然后使用foreach
循环遍历JToken
对象的子节点。以下是一个示例:
using System;
using Newtonsoft.Json.Linq;
class Program
{
static void Main()
{
string jsonString = "{\"name\":\"John\", \"age\":30, \"city\":\"New York\", \"hobbies\":[\"reading\", \"traveling\"]}";
// 解析JSON字符串为JToken对象
JToken jToken = JToken.Parse(jsonString);
// 遍历JToken对象的子节点
foreach (var childNode in jToken.Children())
{
// 获取子节点的类型和值
string nodeType = childNode.Type.ToString();
string nodeValue = childNode.ToString();
// 根据节点类型进行相应的处理
switch (nodeType)
{
case "Object":
Console.WriteLine("Object: " + nodeValue);
break;
case "Array":
Console.WriteLine("Array: " + nodeValue);
break;
case "Property":
Console.WriteLine("Property: Key = " + childNode["key"].ToString() + ", Value = " + nodeValue);
break;
case "Value":
Console.WriteLine("Value: " + nodeValue);
break;
}
}
}
}
在这个示例中,我们首先将JSON字符串解析为JToken
对象。然后,我们使用foreach
循环遍历JToken
对象的子节点。在循环内部,我们根据子节点的类型和值进行相应的处理。