• fastjson.JSONPath使用举例


    fastjson.JSONPath使用举例

    源码:

    /**
             * 根据路径获取值
             * */
            String bjnr = (String) JSONPath.read(json, "$.data.bjnr");
            System.out.println("报警内容:" + bjnr);
    
            String isInvolved = (String) JSONPath.read(json, "$.data.isInvolved");
            System.out.println("报警人是否是涉案人:" + isInvolved);
    
            /**
             * 获取JSON中的对象数组
             * */
            List<JSONObject> hwList = (List<JSONObject>) JSONPath.read(json, "$.data.hwList");
            System.out.println("hwList:" + hwList);
    
            /**
             * 获取JSON中的所有id的值
             * */
            List<String> ids = (List<String>) JSONPath.read(json, "$..id");
            System.out.println("ids:" + ids);
    
            /**
             * 可以提前编辑一个路径,并多次使用它
             * */
            JSONPath path = JSONPath.compile("$.data.keywords");
            System.out.println("keywords:" + path.eval(JSON.parseObject(json)));

    运行结果:

    报警内容:报警人称发现一名小偷(男性,30岁左右,1米63,棕色外套,红色毛衣)往好利达超市方向逃跑。
    报警人是否是涉案人:2
    hwList:[{"count":46266,"section":"10000以上","id":24,"highFWords":"报警"},{"count":17806,"section":"10000以上","id":26,"highFWords":"人称"}]
    ids:[24, 26]
    keywords:人称发现,发现小偷,方向逃跑

    测试Json:

    {
        "code": 200,
        "message": "查询成功",
        "data": {
            "jjdbh": "3323422",
            "danger": "",
            "keywords": "人称发现,发现小偷,方向逃跑",
            "verb": "发现,逃跑",
            "noun": "报警,人称,小偷,男性,棕色,外套,毛衣,利达,超市,方向",
            "adv": "往好",
            "bjnr": "报警人称发现一名小偷(男性,30岁左右,1米63,棕色外套,红色毛衣)往好利达超市方向逃跑。",
            "fxwp": "2",
            "hwList": [{
                "id": 24,
                "highFWords": "报警",
                "count": 46266,
                "pos": null,
                "section": "10000以上"
            }, {
                "id": 26,
                "highFWords": "人称",
                "count": 17806,
                "pos": null,
                "section": "10000以上"
            }],
            "isInvolved": "2"
        }
    }

    end

  • 相关阅读:
    BestCoder 2nd Anniversary/HDU 5718 高精度 模拟
    FZU 2168 前缀和+dp递推
    poj 1088 记忆化搜索
    Codeforces Round #241 (Div. 2) B dp
    poj 3053 优先队列处理
    取消修改
    csv乱码
    iconv()
    cakephp中sql查询between
    虚拟机上linux与windows之间复制粘贴
  • 原文地址:https://www.cnblogs.com/gongxr/p/14251995.html
Copyright © 2020-2023  润新知