UNITY JSON到对象映射错误

时间:2017-05-23 21:30:24

标签: c# json unity5

所以我有一个回调函数给出的字符串,其中包含所有json数据

  private string jsonResponse = @"{""players""[{""name"":""cc"",""rank"":29}, ...]}";

当我尝试使用JsonUtility.FromJson将它从json转换为对象时,它会抛出

 Object reference not set to an instance of an object

我已经创建了对象类(root和普通类)但它仍然不起作用,这里是代码:

void actionTest(int i, string s)
     {
         Debug.Log(i + " " + s);
         Rootobject rootObj = new Rootobject();
         rootObj = JsonUtility.FromJson<Rootobject>(s);
         Debug.Log(rootObj.players.Count);
     }
 [System.Serializable]
 public class Rootobject
 {
     public List<Player> players { get; set; }
 }
 [System.Serializable]
 public class Player
 {
     public string name { get; set; }
     public int rank { get; set; }
 }

按下按钮时会发生这一切!

1 个答案:

答案 0 :(得分:1)

这是一个NullReferenceException意味着你的一个字段是NULL,你实际上可以准确地发布你正在获得异常的那一行吗?如果是这个

rootObj = JsonUtility.FromJson<Rootobject>(s);

那么它此时可能是NULL吗?也可能是RootObject有一个触发NullReferenceException的构造函数, 你不必构造rootObj,因为JsonUtility.FromJson将构造项目,如果你想填充你的项目,你可以使用JsonUtility.FromJsonOverwrite