下面是一个遍历 JObject 嵌套数组的示例代码:
using Newtonsoft.Json.Linq;
using System;
class Program
{
static void Main()
{
// 创建一个包含嵌套数组的 JObject
JObject jObject = JObject.Parse(@"{ 'name': 'John', 'age': 30, 'skills': [ 'C#', 'Java', 'Python' ] }");
// 调用遍历方法
TraverseJObject(jObject);
}
static void TraverseJObject(JObject jObject)
{
foreach (var property in jObject.Properties())
{
Console.WriteLine($"Property Name: {property.Name}, Value: {property.Value}");
// 如果属性值是数组类型,则进一步遍历数组
if (property.Value is JArray)
{
TraverseJArray((JArray)property.Value);
}
}
}
static void TraverseJArray(JArray jArray)
{
foreach (var item in jArray)
{
if (item is JObject)
{
TraverseJObject((JObject)item);
}
else
{
Console.WriteLine($"Array Item: {item}");
}
}
}
}
在上面的示例中,我们首先创建了一个包含嵌套数组的 JObject。然后,我们定义了两个遍历方法:TraverseJObject 和 TraverseJArray。
TraverseJObject 方法用于遍历 JObject,并对每个属性进行处理。如果属性值是数组类型,则调用 TraverseJArray 方法进一步遍历数组。
TraverseJArray 方法用于遍历 JArray。如果数组的元素是 JObject 类型,则递归调用 TraverseJObject 方法遍历嵌套的 JObject。否则,直接输出数组的元素。
在 Main 方法中,我们调用 TraverseJObject 方法来遍历 JObject。输出结果将会打印出 JObject 的属性名和值,以及数组的元素。
注意:上述代码使用了 Newtonsoft.Json 库来处理 JSON 数据。请确保已安装此库,并在代码中添加对 Newtonsoft.Json 的引用。