c# - Unity解析嵌套的Json

时间:2017-11-06 15:45:05

标签: c# json unity3d nested

我遇到以下问题:我尝试使用Unity JsonUtility解析嵌套的JSON,但是如果我记录其中一个嵌套参数,我会得到Null。

这是Json:

{
    "basic": {
        "name": "Demo Bow" 
    }, 
    "effect": {
        "damage": {
            "stages": 3,
            "one": 4,
            "two": 10,
            "three": 40
        }
    }
}

这是我的代码:

public class Basic
{
    public string name;
}

public class Damage
{
    public int stages;
    public int one;
    public int two;
    public int three;
}

public class Effect
{
    public Damage damage;
}

public class RootObject
{
    public Basic basic;
    public Effect effect;
}

编辑:不是它不重复,因为我已经删除了" {get;组; }" 并且缺少代码。

public static RootObject CreateFromJSON(string json){

        RootObject weapon = JsonUtility.FromJson <RootObject> (json);


        return weapon;

    }

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

您缺少类的[System.Serializable]属性,JsonUtility需要能够序列化或反序列化您的类。

[System.Serializable]
public class Basic
{
    public string name;
}

[System.Serializable]    
public class Damage
{
    public int stages;
    public int one;
    public int two;
    public int three;
}

[System.Serializable]
public class Effect
{
    public Damage damage;
}

[System.Serializable]
public class RootObject
{
    public Basic basic;
    public Effect effect;
}