본문 바로가기
NOTE/Unity

[Unity] JsonUtility && Json에 List<> 넣기

by DevAthena 2017. 1. 19.

Json에다가 List<>를 넣으려고 할때 array로 감싸는 좋은 방법(펌)

그냥 List<>를 바로 Json에 넣으면 아무것도 인식이 안되서 안들어감

http://answers.unity3d.com/questions/1145110/constructing-object-array-with-jsonutility.html


(펌소스)

 using UnityEngine;
 using System;
 using System.IO;
 using System.Runtime.Serialization.Formatters.Binary;
 using System.Collections.Generic;
 
 public class JSONio03 : MonoBehaviour {
     public MainObjectData mainObject;
     public InnerObjectData innerObject;
 
     List <InnerObjectData> objectList = new List<InnerObjectData> ();
 
     public InnerObjectData createSubObject(string name, int scores){          
          InnerObjectData myInnerObject = new InnerObjectData();
          myInnerObject.name = name;
          myInnerObject.scores = scores;
          return myInnerObject;
      } 
 
     void Start () {
         objectList.Add (createSubObject ("BadBoy"8828));
         objectList.Add (createSubObject ("MadMax"4711));
         mainObject.highscore = objectList.ToArray();
 
         string generatedJsonString = JsonUtility.ToJson(mainObject);
         Debug.Log ("generatedJsonString: " + generatedJsonString);
     }
 }
 
 [Serializable]
 public class MainObjectData {
     public InnerObjectData [] highscore;
 }
 
 [Serializable]
 public class InnerObjectData {
     public string name;
     public int scores;
 }
cs