zoukankan      html  css  js  c++  java
  • JAVA JSON解析:类XPATH解析JSON

    目前JAVA解析JSON的方式有很多种,json-lib啊,GJSON啊,等等都可以解析,但通常是将JSON转换为对象或者是LIST或者是MAP,对于我们测试人员来说,其实我们并不需要里面的全部信息,一般情况下,我们只需检查里面的某个具体的值即可,听说JSONPATH可以做到,我没仔细看过JSONPATH,但是,我们测试人员对于XPATH来说,应该是很熟悉了,于是乎,我利用XPATH的规则,写了一个取得JSON值的小应用,但是现在只支持绝对路径,下面来具体的介绍一下这个小应用的使用:

    1.path的写法:

    json里,一般是list与map,map好说,有具体的key,但list只有index,于是,我设计这个path的时候,把list用*[index]来代替,至于map,在path里直接写key就行,比如/*[1]/test, 这就是一个path,表示取一个list形式的json串里面第2个list元素,这个取出来的list元素是个map,取其中的key为test的value,比如如下的json:

      [

        { "firstName": "Eric", "lastName": "Clapton", "instrument": "guitar" },

        { "firstName": "Sergei", "lastName": "Rachmaninoff", "instrument": "piano" }

      ]

    如果想取出Sergei,则path的写法为:/*[1]/firstName

    2.jar包的调用:

    JsonAction jsonAction = new JsonAction();
    

    3.提供出来的api:

    jsonAction.checkJsonString(json);//检查json串是否合法
    
    jsonAction.getPathValue(json, path);//核心方法,取得给定的path的值
    
    jsonAction.isExistPath(json, path);//检查path是否存在,或者说是否合法
    

    4.jar包下载地址:(里面包含源码)

    http://files.cnblogs.com/files/zhangfei/json-zf-1.0.zip

    欢迎试用,如发现任何问题,请随时与我联系,非常感谢!

  • 相关阅读:
    CF 142B Tprimes
    CF 231A Team
    poj 2001 Shortest Prefixes ——字典树入门
    hdu 1039 Easier Done Than Said?
    poj 2528 Mayor's posters
    hdu 1061 Rightmost Digit
    poj 2503 Babelfish
    CF271 A. Beautiful Year
    poj 2752
    CF271 B. Prime Matrix
  • 原文地址:https://www.cnblogs.com/zhangfei/p/4591374.html
Copyright © 2011-2022 走看看