zoukankan      html  css  js  c++  java
  • gson解析复杂的json数据

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

  • 相关阅读:
    静态方法、类方法和属性方法
    类的私有属性和私有方法
    JMeter-正则表达式(取出银行卡号后4位)
    JMeter连接MySQL数据库
    解决chrome提示您的连接不是私密连接的方法
    python安装appium模块
    mac中的word内容丢失
    有些事一旦开始就停不下来了
    Python接口测试-以&连接拼接字典数据(get中url请求数据)
    Python接口测试-模块引用与映射
  • 原文地址:https://www.cnblogs.com/liwei09k1/p/7716649.html
Copyright © 2011-2022 走看看