📅  最后修改于: 2023-12-03 15:32:25.047000             🧑  作者: Mango
JSON是一种轻量级的数据交换格式,现在在互联网应用中广泛使用,并且可以轻松地在不同的平台上使用。 在C#中,可以将JSON文本反序列化为.NET对象,从而方便地操作数据。本文将介绍如何将JSON代码转换为C#代码,以及如何使用Newtonsoft.Json库进行反序列化。
JSON是一种文本格式,用于通过键值对存储和传输数据。以下是JSON代码的结构及其示例:
{
"name": "John",
"age": 30,
"city": "New York"
}
在JSON中,每个键值对都由一个逗号分隔。键是字符串,可以包含任何字符。值可以是字符串,数字,布尔值,数组,甚至是嵌套对象。数组是由方括号[]包围的逗号分隔值列表。
使用C#中的Newtonsoft.Json库,可以轻松地将JSON代码反序列化为.NET对象。通过将JSON字符串传递给JsonConvert.DeserializeObject方法,可以将其转换为C#对象。以下是将JSON代码转换为C#对象的实例:
using Newtonsoft.Json;
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
public string City { get; set; }
}
string json = @"{
'name': 'John',
'age': 30,
'city': 'New York'
}";
Person person = JsonConvert.DeserializeObject<Person>(json);
Console.WriteLine(person.Name); // output: "John"
在上面的代码中,我们首先定义了一个名为Person的简单C#类,该类具有与JSON代码中的键相同的属性。 然后,我们将JSON代码存储在一个字符串变量中。 最后,我们使用JsonConvert.DeserializeObject方法将JSON代码反序列化为Person对象,然后打印姓名属性。
在JSON代码中,数组由方括号[]表示。 可以使用List
using Newtonsoft.Json;
using System.Collections.Generic;
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
public string City { get; set; }
}
string json = @"[
{
'name': 'John',
'age': 30,
'city': 'New York'
},
{
'name': 'Jane',
'age': 25,
'city': 'Los Angeles'
}
]";
List<Person> people = JsonConvert.DeserializeObject<List<Person>>(json);
foreach (Person person in people)
{
Console.WriteLine(person.Name);
}
在上面的代码中,我们仍然使用与前面示例相同的Person类,但JSON代码现在包含两个人对象的列表。使用JsonConvert.DeserializeObject方法将JSON代码反序列化为Person列表,然后打印每个人的姓名属性。
使用Newtonsoft.Json库,可以轻松地将JSON代码转换为C#对象。 反序列化JSON代码的步骤是:
这是一个非常简单的过程,使得操作JSON代码和与它交互的数据变得非常容易。