2017-07-18 40 views
0

這是有人在回答寫了我對問題的代碼部分:團結 - 錯誤在讀從JSON

JSONObject jsonRead = new JSONObject(jsonString); 
packsInfo = new Pack[jsonRead.Count]; 
for(int i =0; i < jsonRead.Count; i ++) 
{ 
    Pack pack = new Pack(); 
    pack.number = (int)jsonRead[i]["number"].i; 
    pack.angle = (int)jsonRead[i]["angle"].i; 
    pack.zPosition = jsonRead[i]["z_position"].f; 
    pack.beatCaseDistance =jsonRead[i]["beat_case_distance"].f; 
    pack.gunDistance = jsonRead[i]["gun_distance"].f; 
    packsInfo[i] = pack; 
} 

我用它在我的代碼。每一件事情的工作權利,但這些行:

pack.number = (int)jsonRead[i]["number"].i; 
pack.angle = (int)jsonRead[i]["angle"].i; 

我意識到.f是從JSON閱讀浮法一個get{}方法,我覺得沒有什麼閱讀INT。如果我刪除.i,它給了我一個錯誤,他無法將JSON隱式轉換爲int。

+1

你正在使用什麼庫,並有可能鏈接你複製這個從原來的問題? – user3797758

+0

這是鏈接(該問題也是我的):https://stackoverflow.com/questions/45159836/unity3d-c-sharp-how-can-i-back-up-of-values-of-an-array – Armamedia

+0

如果你在原來的答案下回答,我也可以放棄第二個問題。 – Armamedia

回答

0

.i返回long類型。因爲我使用從多長時間投到int

int i = (int)json["number"].i

爲什麼沒有字段或方法返回int值?我不知道! 但是你可以在JSONObject.cs中創建它!它會是這樣的:

public int Int{ 
    get { 
     return (int)i; 
    } 
} 
+0

我刪除它,並手動寫入,它解決了!!!!!! :D))。我不知道爲什麼,但謝謝。 – Armamedia