C#LIST json 取一列
时间: 2024-08-20 17:03:01 浏览: 52
C# WinForm 解析json並寫入DataGridView
在C#中,如果你想要从一个JSON格式的字符串中提取特定的列数据,你可以使用Json.NET(Newtonsoft.Json)库来帮助你完成这个任务。首先,你需要确保你的项目中已经安装了Json.NET库。
假设你有一个包含多个对象的JSON数组,每个对象都有多个属性,你可以按照以下步骤来提取其中一列的数据:
1. 定义一个与JSON对象相对应的C#类,这个类的属性应该与JSON对象的键值对相匹配。
2. 使用JsonConvert.DeserializeObject方法将JSON字符串反序列化为你的类的实例列表。
3. 遍历列表,根据需要提取特定列的数据。
下面是一个简单的例子:
假设你有以下的JSON字符串:
```json
[
{"id": 1, "name": "Apple", "price": 0.95},
{"id": 2, "name": "Banana", "price": 0.75},
{"id": 3, "name": "Orange", "price": 1.25}
]
```
首先,定义与之对应的C#类:
```csharp
public class Product
{
public int Id { get; set; }
public string Name { get; set; }
public double Price { get; set; }
}
```
然后,反序列化JSON字符串并提取特定列的数据:
```csharp
using Newtonsoft.Json;
using System.Collections.Generic;
using System;
public class JsonExample
{
public static void Main()
{
string json = @"[
{ 'id': 1, 'name': 'Apple', 'price': 0.95 },
{ 'id': 2, 'name': 'Banana', 'price': 0.75 },
{ 'id': 3, 'name': 'Orange', 'price': 1.25 }
]";
List<Product> products = JsonConvert.DeserializeObject<List<Product>>(json);
// 假设我们要提取所有的名字
List<string> names = new List<string>();
foreach (var product in products)
{
names.Add(product.Name);
}
// 输出所有的名字
foreach (var name in names)
{
Console.WriteLine(name);
}
}
}
```
阅读全文