この文書の現在のバージョンと選択したバージョンの差分を表示します。
wiki:unity:tips:110 [2016/07/03 01:02] step 作成 |
wiki:unity:tips:110 [2016/07/03 01:09] (現在) step |
||
---|---|---|---|
ライン 2: | ライン 2: | ||
Unity5.3からJsonが公式にサポートされました。 | Unity5.3からJsonが公式にサポートされました。 | ||
+ | * JsonUtility.ToJson でJsonデータに変換。 | ||
+ | * JsonUtility.FromJsonでデータオブジェクトに変換。 | ||
+ | <code csharp : 一番シンプルなJson変換> | ||
+ | [System.Serializable] | ||
+ | public class JsonData01 | ||
+ | { | ||
+ | public string name; | ||
+ | public int x; | ||
+ | public int y; | ||
+ | public int z; | ||
+ | }; | ||
+ | |||
+ | JsonData01 jsonObj = new JsonData01(); | ||
+ | jsonObj.name = "step"; | ||
+ | jsonObj.x = 10; | ||
+ | jsonObj.y = 20; | ||
+ | jsonObj.z = 30; | ||
+ | |||
+ | string jsonString = JsonUtility.ToJson(jsonObj); | ||
+ | Debug.Log("JsonData01 : " + jsonString); | ||
+ | </code> | ||
+ | |||
+ | <code csharp : Vector3型が使えます> | ||
+ | [System.Serializable] | ||
+ | public class JsonData02 | ||
+ | { | ||
+ | public string name; | ||
+ | public Vector3 position; | ||
+ | }; | ||
+ | |||
+ | JsonData02 jsonObj = new JsonData02(); | ||
+ | jsonObj.name = "step"; | ||
+ | jsonObj.position = new Vector3(10, 20, 30); | ||
+ | |||
+ | string jsonString = JsonUtility.ToJson(jsonObj); | ||
+ | Debug.Log("JsonData02 : " + jsonString); | ||
+ | |||
+ | </code> | ||
+ | |||
+ | <code csharp : Listを扱う場合> | ||
+ | [System.Serializable] | ||
+ | public class JsonData03 | ||
+ | { | ||
+ | public string name; | ||
+ | }; | ||
+ | |||
+ | // リストなどはラップしてあげる必要がある。 | ||
+ | [System.Serializable] | ||
+ | public class JsonData03Wrap | ||
+ | { | ||
+ | public List<JsonData03> jsonObjList = new List<JsonData03>(); | ||
+ | }; | ||
+ | |||
+ | JsonData03Wrap jsonObj03Wrap = new JsonData03Wrap(); | ||
+ | JsonData03 jsonObj = new JsonData03(); | ||
+ | jsonObj.name = "step"; | ||
+ | jsonObj03Wrap.jsonObjList.Add(jsonObj); | ||
+ | |||
+ | string jsonString = JsonUtility.ToJson(jsonObj03Wrap); | ||
+ | Debug.Log("JsonData03 : " + jsonString); | ||
+ | |||
+ | </code> |