C# JsonConvert.DeserializeObject 将JSON转成类
时间: 2023-10-07 22:10:18 浏览: 156
JsonConvert.DeserializeObject方法是C#中的一个方法,它可以将一个JSON字符串转换成一个指定的类对象。在你提供的代码中,使用了这个方法将JSON字符串转换成了一个名为Person的类对象。具体来说,通过调用JsonConvert.DeserializeObject<T>方法,其中T是指定类的类型,可以将JSON字符串转换成指定类的实例对象。
相关问题
C#JsonConvert.DeserializeObject
C#中的JsonConvert.DeserializeObject是一个方法,用于将JSON字符串反序列化为C#对象。你可以使用这个方法来将一个符合JSON格式的字符串转换为对应的C#对象。
例如,如果有这样一个JSON字符串:
```
{
"name": "John",
"age": 30,
"city": "New York"
}
```
你可以使用JsonConvert.DeserializeObject方法将其转换为C#对象:
```csharp
string json = "{\"name\":\"John\",\"age\":30,\"city\":\"New York\"}";
var obj = JsonConvert.DeserializeObject(json);
```
这样,obj将被反序列化为一个包含"name"、"age"和"city"属性的动态对象。你也可以指定一个具体的类型来进行反序列化,如下所示:
```csharp
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\"}";
var person = JsonConvert.DeserializeObject<Person>(json);
```
现在,person将是一个Person类的实例,它的属性值分别为"name"、"age"和"city"字段在JSON字符串中的对应值。
JsonConvert.DeserializeObject(jsonString);读取时转为类
当你需要将解析后的JSON数据映射到具体的C#类上时,可以使用`JsonConvert.DeserializeObject<T>`方法,其中`T`是你想要转换的目标类的类型。例如,如果你有一个名为`YourClass`的类,它有相应的属性对应于JSON中的字段,你可以这样做:
```csharp
using UnityEngine;
using System.IO;
using Newtonsoft.Json;
public class YourClass
{
public int ID { get; set; }
public string Name { get; set; }
// 更多字段...
}
public class JsonReader : MonoBehaviour
{
void Start()
{
string jsonString = File.ReadAllText("path_to_your_file.json");
YourClass yourData = JsonConvert.DeserializeObject<YourClass>(jsonString);
// now you have an instance of YourClass with deserialized JSON properties
Debug.Log(yourData.ID);
Debug.Log(yourData.Name);
}
}
```
在这个例子中,`jsonString`会按照`YourClass`的属性结构被自动解构,并填充到类实例中。
阅读全文