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

 

歡迎試用,如發現任何問題,請隨時與我聯系,非常感謝!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM