gson解析复杂的json数据

来源:互联网 发布:网络信息监控 编辑:程序博客网 时间:2024/06/04 00:48

1.什么是json

JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式。它基于 ECMAScript (w3c制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。

 

2.下载gson包地址

https://pan.baidu.com/s/1o8r8DBG

3.json数据xu.json文件数据如下:


"crawler" : "mobile", 
"crawler_result" : {
"fee" : [
{
"package" : "0.61", 
"call" : "17612121212", 
"netflow" : "0.10", 
"total" : "0.71"
}
], 
"sms" : [
{
"send_type" : "接收", 
"fee" : "0.00", 
"mobile" : "18615162212", 
"send_time" : "2017-07-31 16:20:26"
}
], 
"call" : [
{
"mobile" : "15901357111", 
"communicati" : "国内", 
"call_time" : "2017-08-07 16:33:08", 
"location" : "北京市", 
"duration" : "146", 
"call_type" : "主叫"
}
]
}
}

 

 

4,解析代码如下

 

JsonParser parser=new JsonParser(); 
JsonObject json=(JsonObject) parser.parse(new FileReader(“xu.json”));
JsonObject object = json.get("crawler_result").getAsJsonObject();
JsonArray array = object.get(“call”).getAsJsonArray();//可以获取call节点的所有数据保存为数组然后解析数组

for(int i=0;i<array.size();i++){
JsonObject jsonObject = array.get(i).getAsJsonObject();

String phone=jsonObject.get("mobile").getAsString();//获取手机号

}//不管json数据多复杂都可以一级一级的解析,而且利用gson解析json应该是最简单的方法。

 

5.还有人解析json的时候是利用gson把json转换成对象,需要写bean个人认为对复杂的json来说这个比较麻烦。我比较推崇上面这个方法。

原创粉丝点击