Извините за мой английский :)Unity SimpleJSON array lags
В моем проекте я использую SimpleJSON. У меня есть эта строка json Это список планет в моей игре. Мне нужно разобрать этот json. Но у меня есть 1 проблема. Мой редактор Unity свободен! Когда я использую цикл.
{
"system_list":
[
{
"system_id":"9",
"galaxy":"1",
"x":"3",
"y":"2",
"system_name":"bla bla"
},
{
"system_id":"10"
"galaxy":"1",
"x":"1",
"y":"4",
"system_name":"NoIQ"}
]
}
Синтаксический код этого:
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using SimpleJSON;
public class GetJsonList : MonoBehaviour
{
string str_json = "{\"system_list\":[{\"system_id\":\"9\",\"galaxy\":\"1\",\"x\":\"3\",\"y\":\"2\",\"system_name\":\"bla bla\"},{\"system_id\":\"10\",\"galaxy\":\"1\",\"x\":\"1\",\"y\":\"4\",\"system_name\":\"NoIQ\"}]}";
JSONNode N;
JSONArray arr;
List<SystemPlanet> sysPlanet = new List<SystemPlanet>();
void Start()
{
N = JSON.Parse(str_json);
arr = N["system_list"].AsArray;
Debug.Log(arr[0]["system_id"].AsInt);
Debug.Log(arr[1]["system_id"].AsInt);
for (int i = 0; i <= arr.Count; i++)
{
sysPlanet.Add(new SystemPlanet(arr[i]["system_id"].AsInt, arr[i]["galaxy"].AsInt, arr[i]["x"].AsInt,
arr[i]["y"].AsInt, arr[i]["system_name"].Value));
}
Debug.Log(sysPlanet[1].sys_name);
}
}
public class SystemPlanet
{
public int sys_id;
public int galaxy;
public int x;
public int y;
public string sys_name;
public SystemPlanet(int _sys_id,int _galaxy, int _x, int _y, string _sys_name)
{
sys_id = _sys_id;
galaxy = _galaxy;
x = _x;
y = _y;
sys_name = _sys_name;
}
}
Если я использовать этот Debug.Log(arr[0]["system_id"].AsInt);
или это Debug.Log(arr[1]["system_id"].AsInt);
работы тонкой.
Но если я использую цикл - это:
for (int i = 0; i <= arr.Count; i++)
{
sysPlanet.Add(new SystemPlanet(arr[i]["system_id"].AsInt, arr[i]["galaxy"].AsInt, arr[i]["x"].AsInt, arr[i]["y"].AsInt, arr[i]["system_name"].Value));
}
или этот цикл:
for (int i = 0; i <= arr.Count; i++)
{
Debug.Log("System ID: "+arr[i]["system_id"].AsInt +"\nGalaxy:"+ arr[i]["galaxy"].AsInt+"\n X: " + arr[i]["x"].AsInt +"\n Y: "+ arr[i]["y"].AsInt +"\nSystem Name: "+ arr[i]["system_name"].Value);
}
My Unity Editor сублимационной !!! Зачем ?