Unity 使用LitJson 解析Json数据

Unity 使用LitJson 解析Json数据Unity自带JsonUtility类,解析感觉不是很好用,数组解析不出来。fastJson自己定义json数据结构的时候是好用,但是对于解析网络下载json感觉不是很好用。于是就用了LitJson,记得应该是我第一次解析json用的插件,但是很久没用,忘记怎么用了,于是记一下吧。RecDatadata=newRecData();…

Unity自带JsonUtility类,解析感觉不是很好用,数组解析不出来。fastJson 自己定义json数据结构的时候是好用,但是对于解析网络下载json感觉不是很好用。于是就用了LitJson,记得应该是我第一次解析json用的插件,但是很久没用,忘记怎么用了,于是记一下吧。

 RecData data = new RecData();
            
            JsonData jsonObj = JsonMapper.ToObject(www.downloadHandler.text);
          
            if (jsonObj["log_id"] != null)
            {
                data.log_id = (long)jsonObj["log_id"];
                data.result_num = (int)jsonObj["result_num"];
                var arrdata =  jsonObj["result"];
                
                data._result = new ResultData[arrdata.Count];

                for (int i = 0; i < arrdata.Count; i++)
                {
                    ResultData _item = new ResultData();
                    _item.score = float.Parse(arrdata[i]["score"].ToString());
                    _item.root = (string)arrdata[i]["root"];
                    _item.keyword = (string)arrdata[i]["keyword"];
                    data._result[i] = _item;
                }
            }

JsonData 就是就是类似一个字典,可以通过index 或者 json中数据的key  获取到数据,然后一层一层解析数据。

遇到数组可以遍历JsonData。

写数据用JsonWriter

        StringBuilder sb = new StringBuilder();
        JsonWriter writer = new JsonWriter(sb);

        writer.WriteArrayStart();

        writer.WriteObjectStart();
for(int i = 0;i<3;i++){
        writer.WritePropertyName("color");
        writer.Write("blue");
}
        writer.WriteObjectEnd();

        writer.WriteArrayEnd();

 

今天的文章Unity 使用LitJson 解析Json数据分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/7738.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注