Unity3D 3.0 C#脚本之 Json 处理框架 LitJson 入门学习
之前 Unity2.6 中曾今使用 Newtonso 作为 json 的处理工具,但是到 Unity3.0 后,这个框架
不能用,不知为何,所幸 google 一番在 json.org 上看到与 Newtonso 类似的 json 处理框架,
于是留下简单的使用笔记以供参考
在 unity 项目中我们只需引入 LitJson.dll 文件即可使用
LitJson 之 JsonData 使用:
JsonData 实现的接口如下:
IJsonWrapper, IList, ICollection, IEnumerable,
IOrderedDictionary, IDictionary, IEquatable<JsonData>
JsonData 需要从 Json 字符串返回的类型来判断该 JsonData 类型是否为数组,这一点可以从
它的 IsArray 方法可以看出
eg:
string s = "[{'name':'lisi'},{'name':'zhangsan'}]";
string a = "{'name':'aaa'}";
JsonData[] jarr = JsonMapper.ToObject<JsonData[]>(s);
print(jarr. IsArray);//返回 true
if(jarr.IsArray){
foreach(JsonData jd in jarr){
print(jd["name"]);//返回结果: lisi
// zhangsan
}
}
JsonData jdata = JsonMapper.ToObject(s);
print(jdata.IsArray);//返回 true
if (jdata.IsArray)
{
for (int i = 0; i < jdata.Count;i ++ )
{
print(jdata[i]["name"]);//返回的结果: lisi
// zhangsan
}
}
JsonData j = JsonMapper.ToObject(a);
print(j.IsArray);//返回 false
print(j["name"]);//返回 aaa
从上面的示例可以看出 JsonData 是否能以数组的方式访问需看 json 字符串返回的是否是数
组类型的.
e-mail: lazyducker@126.com
评论0