将多层json对象反序列化为c#对象类
我试图将一个json对象反序列化为一个c#对象类。我检查了如何读取json文件,但我只能找到如何使用简单json执行此操作的示例,而没有找到如何使用多层json执行此操作的示例,例如:将多层json对象反序列化为c#对象类,c#,json,variables,serialization,types,C#,Json,Variables,Serialization,Types,我试图将一个json对象反序列化为一个c#对象类。我检查了如何读取json文件,但我只能找到如何使用简单json执行此操作的示例,而没有找到如何使用多层json执行此操作的示例,例如: { "user": { "inventory": { "slot1": "item1", "slot2": "
{
"user":
{
"inventory":
{
"slot1": "item1",
"slot2": "item2",
}
}
}
invntory不是简单的字符串或int,而是另一个json对象。
我甚至无法找出json对象变量类型在c#中的拼写方式,以便保存库存对象本身
public object inventory;
不起作用。使用此站点将JSON转换为C#Class
现在使用
//JSON
字符串Json=“{'user':{'inventory':{'slot1':'item1','slot2':'item2'}}”;
//去灭菌物体
var myDeserializedClass=JsonConvert.DeserializeObject(Json);
现在我正试图这样做:
public List<User> users;
TextAsset jsonFile = Resources.Load<TextAsset>("Data/" + fileName);
User userInJson = JsonUtility.FromJson<User>(jsonFile.text);
users.Add(userInJson);
我得到一份工作
NullReferenceException:对象引用未设置为对象的实例
我不知道为什么。如何使用JsonConvert?我试图导入它,但没有成功。请在项目中添加Newtonsoft Nugut
// JSON
string Json = "{'user': {'inventory': {'slot1': 'item1','slot2': 'item2'}}}";
// Desterilized Object
var myDeserializedClass = JsonConvert.DeserializeObject<Root>(Json);
public List<User> users;
TextAsset jsonFile = Resources.Load<TextAsset>("Data/" + fileName);
User userInJson = JsonUtility.FromJson<User>(jsonFile.text);
users.Add(userInJson);
users.Add(userInJson);