JAVA 解析json字符串常用方法

java 解析 json 字符串 一般使用 fastjson 进行操作,即导入以下依赖即可
    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>fastjson</artifactId>
        <version>1.2.72</version>
    </dependency>
    // hutool  工具包
    <dependency>
        <groupId>cn.hutool</groupId>
        <artifactId>hutool-all</artifactId>
        <version>5.1.4</version>
    </dependency>

例如需要解析 json 字符串 为

{
    "error": 0,
    "status": "success",
    "results": [
        {
            "currentCity": "青岛",
            "index": [
                {
                    "title": "穿衣",
                    "zs": "较冷",
                    "tipt": "穿衣指数",
                    "des": "建议着厚外套加毛衣等服装。年老体弱者宜着大衣、呢外套加羊毛衫。"
                },
                {
                    "title": "紫外线强度",
                    "zs": "中等",
                    "tipt": "紫外线强度指数",
                    "des": "属中等强度紫外线辐射天气,外出时建议涂擦SPF高于15、PA+的防晒护肤品,戴帽子、太阳镜。"
                }
            ]
        }
    ]
}

解析如下:

       //这个属于发起请求并获取json数据(得引入hutool,即上面引入的第二个依赖)
        String json= HttpUtil.createGet(url).execute().body();
        //转化请求的 json 数据
        JSONObject jsonObject = JSONObject.parseObject(json);
        //获取 error 返回状态码
        String error = jsonObject.getString("error");
        //获取 results 数组
        JSONArray results = jsonObject.getJSONArray("results");
        for (int i = 0; i < results.size(); i++) {
            //获取青岛
            String currentCity = results.getJSONObject(i).getString("currentCity");
            //获取index数组
            JSONArray index = results.getJSONObject(i).getJSONArray("index");
            //遍历 index 数组
            for (int j = 0; j < index.size(); j++) {
                //获取 title,下面的参数获取以此类推
                String title = index.getJSONObject(j).getString("title");
                String zs = index.getJSONObject(j).getString("zs");
                String tipt = index.getJSONObject(j).getString("tipt");
                String des = index.getJSONObject(j).getString("des");
            }
        }
   
  • 9
    点赞
  • 63
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值