如何解析Unity中的Json数据?

时间:2017-12-11 01:30:51

标签: json parsing unity3d

我项目的Json数据形式是这样的。

[
    {
        "UnitName" : "A" ,
        "Level" : "1" ,
        "HitPoint" : "450" ,
        "Damage" : "8" ,
        "Experience" : "100" 
    },
    {
        "UnitName" : "A" ,
        "Level" : "2" ,
        "HitPoint" : "540" ,
        "Damage" : "11" ,
        "Experience" : "150" 
    },
    ....
]

我尝试使用JsonUtility阅读此内容。 这是我阅读Json代码。

public void Load()
{   
        string jsonString = File.ReadAllText(Application.dataPath + "/Database/SpiritDataA.json");   
        CharacterData data = JsonUtility.FromJson<CharacterData>(jsonString);
        Debug.Log(data);
}

我正在测试它,并得到此错误。

ArgumentException:JSON必须表示对象类型。

我试过在数组中使用的其他方法。

[Serializable]
public class Wrapper<T>
{
    public T[] items;
}

public class JsonHelper
{
    public void Load()
    {
        string jsonString = File.ReadAllText(Application.dataPath + "/Database/SpiritData.json");
        CharacterData data = JsonUtility.FromJson<CharacterData>(jsonString);

        Debug.Log(data);
    }

    public CharacterData[] FromJson(string s)
    {
        return JsonUtility.FromJson<Wrapper<CharacterData>>(s).items;
    }
}

我得到同样的错误。

由于谷歌搜索,我认为这个文件结构与其他常见的东西有点不同。但是我想阅读文件,如果可能的话保留现有的格式。

我该怎么办?

0 个答案:

没有答案