C# 的 foreach 循环是一种非常方便的遍历集合和数组的方法。当我们需要对一个 JSON 对象进行遍历时,可以使用 C# 的 Newtonsoft.Json 库中的 JObject 类来进行操作。
// 引用 Newtonsoft.Json 库 using Newtonsoft.Json; using Newtonsoft.Json.Linq; // 定义一个 JSON 字符串 string jsonStr = "{\"name\":\"Tom\", \"age\":18}"; // 将 JSON 字符串转换为 JObject 对象 JObject jsonObj = (JObject)JsonConvert.DeserializeObject(jsonStr); // 使用 foreach 循环遍历 JObject 对象 foreach (var item in jsonObj) { Console.WriteLine(item.Key + ": " + item.Value); }
上面的代码中,我们首先定义了一个 JSON 字符串 jsonStr,并使用 JsonConvert.DeserializeObject 将该字符串转换为 JObject 对象 jsonObj。接着,在 foreach 循环中,使用 item.Key 和 item.Value 分别获取 JSON 对象的键和值,并输出到控制台。
对于 JSON 数组的遍历,我们可以使用 JArray 类来进行操作。下面是一个遍历 JSON 数组的示例代码:
// 定义一个 JSON 数组字符串 string arrStr = "[{\"name\":\"Tom\", \"age\":18}, {\"name\":\"Jerry\", \"age\":20}]"; // 将 JSON 数组字符串转换为 JArray 对象 JArray jsonArray = (JArray)JsonConvert.DeserializeObject(arrStr); // 使用 foreach 循环遍历 JArray 对象 foreach (JObject item in jsonArray) { Console.WriteLine(item["name"] + ": " + item["age"]); }
在上面的示例代码中,我们首先定义了一个 JSON 数组字符串 arrStr,并使用 JsonConvert.DeserializeObject 将其转换为 JArray 对象 jsonArray。接着,在 foreach 循环中,使用 item["name"] 和 item["age"] 分别获取 JSON 对象的属性,并输出到控制台。