所以我想從我的電腦序列化Json數組。從計算機序列化JSON數組出錯
我跟着這個問題的答案:Serialize and Deserialize Json and Json Array in Unity
唯一的區別是,我的JSON的來源是從我的桌面。
我有我的文件中的JsonHelper函數,fixJson函數和播放器類。
在我啓動功能,我有以下代碼:
jsonString = fixJson(System.IO.File.ReadAllText("/Users/sroubert/Desktop/playerDummyDataTest.json"));
dummyPlayer = JsonHelper.FromJson<Player> (jsonString);
print (jsonString);
print (dummyPlayer[0].playerLoc);
我在文件的頂部有以下定義dummyPlayer:
public Player[] dummyPlayer;
的print (jsonString)
命令工作正常。它輸出以下:
但是,代碼從打印拋出NullReference異常(dummyPlayer [0] .playerLoc)。
我測試用下面的函數jsonHelper:
string jsonString = "{\r\n \"Items\": [\r\n {\r\n \"playerId\": \"8484239823\",\r\n \"playerLoc\": \"Powai\",\r\n \"playerNick\": \"Random Nick\"\r\n },\r\n {\r\n \"playerId\": \"512343283\",\r\n \"playerLoc\": \"User2\",\r\n \"playerNick\": \"Rand Nick 2\"\r\n }\r\n ]\r\n}";
dummyPlayer = JsonHelper.FromJson<Player>(jsonString);
print (jsonString);
Debug.Log(dummyPlayer[0].playerLoc);
打印(jsonString)輸出爲恰好相同。但是,沒有NullReferenceException。打印出Powai。
有誰知道可能會發生什麼?
JsonHelper.FromJson將返回數組的實例,而不是Player的數組。我相信,你需要反序列化它 –
NullReferenceException甚至沒有指向anyhting,你在這裏顯示... – Vogel612