将多层json对象反序列化为c#对象类

将多层json对象反序列化为c#对象类,c#,json,variables,serialization,types,C#,Json,Variables,Serialization,Types,我试图将一个json对象反序列化为一个c#对象类。我检查了如何读取json文件,但我只能找到如何使用简单json执行此操作的示例,而没有找到如何使用多层json执行此操作的示例,例如: { "user": { "inventory": { "slot1": "item1", "slot2": "

我试图将一个json对象反序列化为一个c#对象类。我检查了如何读取json文件,但我只能找到如何使用简单json执行此操作的示例,而没有找到如何使用多层json执行此操作的示例,例如:

{
    "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);