2017年11月4日土曜日

【Unity】自作クラスのListをJsonUtilityで扱う

Websocketでデータを受信しようとした時にハマったので備忘録としてメモしておこうと思う。

    public class RoomData{
        public int room_id;
        public string room_name;
    }
    public class RoomSearchRequest{
        public string cate;
        public List<RoomData> rooms = new List<RoomData>();
    }
    private RoomSearchRequest getData;
上のようなクラスを以下のような感じで取得したところ…
    void RequestResult (string resultJson) {
        getData = JsonUtility.FromJson<RoomSearchRequest>(resultJson);
    }
FromJsonのところでroomsの中身が空になってしまった…。

ググりながら色々弄ったところ以下のようにRoomDataクラスに[Serializable]を付けて解決した。
    [Serializable]
    public class RoomData{
        public int room_id;
        public string room_name;
    }