C# Newtonsoft 中的 JSON 数组迭代

作者:编程家 分类: arrays 时间:2025-10-12

# 使用C# Newtonsoft库迭代JSON数组的方法

在C#中,处理JSON数据是一项常见的任务,而Newtonsoft.Json库是其中最受欢迎的选择之一。本文将重点介绍如何使用Newtonsoft.Json库迭代JSON数组,并提供一些简单易懂的示例代码。

## 引入Newtonsoft.Json库

首先,确保你的项目中已经引入了Newtonsoft.Json库。你可以通过NuGet包管理器或手动下载并添加引用来实现。以下是在NuGet包管理器中安装的命令:

csharp

Install-Package Newtonsoft.Json

## JSON数组的基本结构

在讨论如何迭代JSON数组之前,让我们先了解JSON数组的基本结构。一个JSON数组是由一组有序的值组成,这些值可以是字符串、数字、布尔值、对象、数组或者`null`。数组中的每个值都用逗号分隔,并由方括号括起来。

json

["apple", "banana", "cherry"]

## 迭代JSON数组的方法

要迭代JSON数组,我们需要首先将JSON字符串解析为C#中的数据结构,通常是`JArray`。接下来,我们可以使用循环或LINQ查询来访问数组中的每个元素。

csharp

using Newtonsoft.Json.Linq;

using System;

class Program

{

static void Main()

{

// JSON数组字符串

string json = @"[""apple"", ""banana"", ""cherry""]";

// 解析JSON数组

JArray jsonArray = JArray.Parse(json);

// 迭代数组并输出每个元素

foreach (var item in jsonArray)

{

Console.WriteLine(item);

}

}

}

上述代码中,我们首先将JSON数组字符串解析为`JArray`对象,然后使用`foreach`循环迭代数组中的每个元素,并输出到控制台。

## 使用LINQ进行过滤

有时候,我们可能希望仅获取数组中满足特定条件的元素。在这种情况下,我们可以使用LINQ进行过滤。

csharp

using Newtonsoft.Json.Linq;

using System;

using System.Linq;

class Program

{

static void Main()

{

// JSON数组字符串

string json = @"[

{""name"": ""apple"", ""color"": ""red""},

{""name"": ""banana"", ""color"": ""yellow""},

{""name"": ""cherry"", ""color"": ""red""}

]";

// 解析JSON数组

JArray jsonArray = JArray.Parse(json);

// 使用LINQ过滤数组元素

var redFruits = jsonArray

.Where(item => item["color"].ToString() == "red")

.ToList();

// 输出符合条件的元素

foreach (var fruit in redFruits)

{

Console.WriteLine(fruit);

}

}

}

上述代码中,我们使用LINQ的`Where`方法筛选出颜色为"red"的水果,并将结果输出到控制台。

##

通过使用Newtonsoft.Json库,我们可以方便地解析和迭代JSON数组。无论是简单地输出数组元素还是进行复杂的过滤,这个库为C#开发者提供了强大而灵活的工具。希望本文的示例代码能够帮助你更好地理解如何在C#中处理JSON数组。