String的Json数据怎样取值

1.数据类型String

renderReverse&&renderReverse({"status":0,"result":{"location":{"lng":115.95845799999992,"lat":35.69611689682454},"formatted_address":"山东省菏泽市郓城县","business":"","addressComponent":{"country":"中国","country_code":0,"country_code_iso":"CHN","country_code_iso2":"CN","province":"山东省","city":"菏泽市","city_level":2,"district":"郓城县","town":"","town_code":"","adcode":"371725","street":"","street_number":"","direction":"","distance":""},"pois":[],"roads":[],"poiRegions":[],"sematic_description":"","cityCode":353}})

2.首先使用String的substring截取{}中的所有数据(通过经纬度获取位置信息)

String substring = baiduApi.substring(baiduApi.indexOf("(")+1, baiduApi.indexOf(")"));
System.out.println(substring);

3.两种解析获取自己想要的字段

    //第一种方法
        
        JSONObject jsonObject = JSONObject.parseObject(substring);
        String Address = jsonObject.getString("result");
        JSONObject object = JSONObject.parseObject(Address);
        String formattedAddress = object.getString("formatted_address");
        System.out.println("formattedAddressformattedAddress1:"+formattedAddress);

        System.out.println("================");
        //第二种方法
        JsonParser jp = new JsonParser();
//      
        shaded.com.google.gson.JsonObject jo = jp.parse(substring).getAsJsonObject();
        //获取address对应的值
        String address2 = jo.get("result").getAsJsonObject().get("formatted_address").getAsString();
        System.out.println("address2:" + address2);
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 点击查看原文 Web SDK 开发手册 SDK 概述 网易云信 SDK 为 Web 应用提供一个完善的 IM 系统...
    layjoy阅读 14,033评论 0 15
  • 四、集合框架 1:String类:字符串(重点) (1)多个字符组成的一个序列,叫字符串。生活中很多数据的描述都采...
    佘大将军阅读 802评论 0 2
  • 一. Java基础部分.................................................
    wy_sure阅读 3,877评论 0 11
  • String类和正则表达式 今天的主要内容 Scanner类概述Scanner获取数据出现的小问题及解决方案 St...
    须臾之北阅读 1,968评论 0 3
  • 没有反思的人生不值得过 -苏格拉底 时常提醒自己:每时每刻感觉到人生的美好,时时刻刻活在当下,感恩生命中遇到的...
    HiGraceH阅读 372评论 0 1