工具类-SerializeDictionary、SerializeList
unity JsonUtility无法直接将List和Dictionary直接序列化成json ,序列化出的结果为{}
如下测试代码:
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using System;
public class Serialization:MonoBehaviour
{
private void Start()
{
List<string> list = new List<string>();
Dictionary<string, string> dic = new Dictionary<string, string>();
for (int index = 0;index<10;index++)
{
list.Add("listvalue_"+index);
dic.Add("key_" + index, "value_" + index);
}
string list_json = JsonUtility.ToJson(list);
Debug.Log("list to json: "+ list_json);
string dic_json = JsonUtility.ToJson(dic);
Debug.Log("dic to json: " + dic_json);
}
}
测试结果如下:
所以 需要对需要序列化的数据进行一些处理。当然也可以使用Json.Net进行序列化 反序列化,这里不作过多介绍。
以下是封装后的工具类:
/*********************序列化/反序列化Dictionary***********************/
using System.Collections.Generic;
using Unit