Newtonsoft.Json 读写 对象数组
时间: 2025-02-14 20:15:38 浏览: 40
### 如何使用 Newtonsoft.Json 进行 C# 对象数组的读写
#### 序列化对象数组为 JSON 字符串
当需要将一组 C# 对象转换成 JSON 格式的字符串时,可以利用 `JsonConvert.SerializeObject` 方法来实现这一目标。下面是一个具体的例子:
```csharp
using System;
using System.Collections.Generic;
using Newtonsoft.Json;
public class Product {
public string Name { get; set; }
public double Price { get; set; }
}
class Program {
static void Main() {
List<Product> products = new List<Product>() {
new Product{Name="Apple",Price=0.5},
new Product{Name="Banana",Price=0.3}
};
// 将对象列表序列化为JSON字符串
string jsonString = JsonConvert.SerializeObject(products);
Console.WriteLine(jsonString);
// 输出: [{"Name":"Apple","Price":0.5},{"Name":"Banana","Price":0.3}]
}
}
```
此段代码展示了如何创建一个产品类的对象集合并将其转化为 JSON 表达形式[^1]。
#### 反序列化 JSON 字符串为对象数组
对于从文件或其他数据源接收到的 JSON 数据,则可通过 `JsonConvert.DeserializeObject<T>` 函数恢复其原始结构,在这里 T 是期望的目标类型参数。以下是相应的实例展示:
```csharp
using System;
using System.Collections.Generic;
using Newtonsoft.Json;
public class Product {
public string Name { get; set; }
public double Price { get; set; }
}
class Program {
static void Main() {
string jsonData = "[{\"Name\":\"Apple\",\"Price\":0.5},{\"Name\":\"Banana\",\"Price\":0.3}]";
// 解析JSON字符串至对象列表
List<Product> productList = JsonConvert.DeserializeObject<List<Product>>(jsonData);
foreach(var product in productList){
Console.WriteLine($"Product name:{product.Name}, price:${product.Price}");
}
// 控制台输出:
// Product name: Apple, price:$0.5
// Product name: Banana, price:$0.3
}
}
```
这段程序说明了怎样把 JSON 文本重新构建成 .NET 中的实际业务实体列表[^3]。
阅读全文
相关推荐


















