JAVA字符串用json来解析

JAVA字符串用解析json来解析

一 背景介绍

在开发过程中,经常会遇到参数解析的情况。特别是对字符串进行解析,笔者在开发过程中也遇到过这种情况。特别是在查询后端数据对返回对象中。返回内容比较复杂。往往是数组对象中又嵌套另外一层数组对象,最糟糕的情况是,里面还有好几层。如果直接用字符串进行切割,那解析起来非常的糟糕。所以,一直很自然的思想就是用JSON来解析这些数据。

二 导入依赖

    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>fastjson</artifactId>
        <version>1.3.1</version>
    </dependency>

fastjson 是阿里巴巴开源的比较常用的解析工具。其他内容就不具体说了。
具体看一个case, 看完了你就能自己写了。

二 开始实战

json = /*{
    "error": 0,
    "status": "success",
    "results": [
        {
            "currentCity": "北京",
            "index": [
                {
                    "title": "穿衣",
                    "level": "中等",
                    "tipt": "穿衣指数",
                    "des": "年老体弱者宜着大衣。"
                },
                {
                    "title": "紫外线强度",
                    "level": "中等",
                    "tipt": "紫外线强度指数",
                    "des": "属中等强度紫外线辐射天气"
                }
            ]
        }
    ]
}*/

观察上面字符串数据,可以发现分为4层。 开始解析:

class Test(){
@Test
void testDemo(){

        // 转化请求的 json 数据
        JSONObject jsonObject = JSONObject.parseObject(json);

        // 获取 results 数组
        JSONArray results = jsonObject.getJSONArray("results");
        for (int i = 0; i < results.size(); i++) {
            // 获取杭州
            String currentCity = results.getJSONObject(i).getString("currentCity");
            //获取index数组
            JSONArray arr = results.getJSONObject(i).getJSONArray("index");
            //遍历 index 数组
            for (int j = 0; j < arr.size(); j++) {
                //获取 title,其他同理
                String title = index.getJSONObject(j).getString("title");
            }
        }
}
}
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值