Unity自己的json序列化是不支持字典格式的。json .net库,功能很强大,还支持序列化字典推荐给大家。
点击下载,Json120r3.zip 解压后,把bin/net20/Newtonsoft.Json.dll 拖入unity工程。
写下一段简单的序列化 反序列化json的代码
private static Dictionary<string, object> deserializeToDictionary(string jsonStr)
{
Dictionary<string, object> values = JsonConvert.DeserializeObject<Dictionary<string, object>>(jsonStr);
Dictionary<string, object> values2 = new Dictionary<string, object>();
foreach (KeyValuePair<string, object> d in values)
{
if (d.Value.GetType().FullName.Contains("Newtonsoft.Json.Linq.JObject"))
{
values2.Add(d.Key, deserializeToDictionary(d.Value.ToString()));
}
else
{
values2.Add(d.Key, d.Value);
}
}
return values2;
}
记得导入头文件
using Newtonsoft.Json;
网友评论