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来说这个比较麻烦。我比较推崇上面这个方法。