首先,我们需要一个脚本MiniJSON,百度网盘链接:https://pan.baidu.com/s/1Nxv9bfBCY0ne3q1pCVOk6g
提取码:g298
[
{"number": {"phone":2} },
{"orders":[{"id":17,"name":"张"},{"id":18,"name":"陈"}]},
{"content":"测试"}
]
现在假如我们有这样一个json数据
首先我们先把整个数据的文本转化成json对象全部存在一个 ArrayList中
ArrayList ls = MiniJSON.jsonDecode(getData.text) as ArrayList;
在这个ArrayList 中就存储了我们的三个大的对象
{"number": {"phone":2} }
{"orders":[{"id":17,"name":"张"},{"id":18,"name":"陈"}]}
{"content":"测试"}
首先我们先获取我们ArrayList 中的第一个对象(ls[0])中的对象
我们先将ls[0]转成哈希表用 ["number"]取到ls[0]中的第一个元素
(Hashtable)ls[0]
接着再转成哈希表再用 ["phone"]就能得到我们想要的值2了
(((Hashtable) ((Hashtable)ls[0]) ["number"]) ["phone"]
接下来 我们获取第二个对象 然后将他转成一个哈希表 然后通过["orders"]获取其中的对象 再转成一个ArrayList
Hashtable s = ls[1] as Hashtable;
ArrayList ss = s["orders"] as ArrayList;
接着我们就可以再将这个ArrayList 中的元素转成哈希表再用["name"] 这种形式就能取得我们想要的值了 具体方法
例如 ( (Hashtable )ss[0] )["name"].ToString();
我们再通过将ArrayList 中的第三个元素ls[2]转成哈希表接着再使用["content"] 取到我们想要的具体元素(我这里是字符串,所以下面我就ToString());
(((Hashtable)ls[2])["content"]).ToString();
我这里只是做一种json数据的简单解析 原理无非就是对象 ArrayList 与哈希表 的各种转换
希望您看了会有帮助 如有什么好的意见欢迎留言