JSONを解析JSONPath

  • JSONPath - JSONのXPath

  • ネストされたJSONデータを解析するため、JsonPathライブラリは、それが指定されたツールJSON文書から情報を抽出する情報抽出です。

      自動テストプラットフォームを開発するための次の計画を考慮すると、インタフェースのテストが使用して考える、その後、いくつかのチェックポイントを設定しJSONPathのチェックポイントを行うには、チェックを。

輸入com.alibaba.fastjson.JSONPath。
輸入java.util.HashMapを;
輸入java.util.Map; 

パブリック クラスJSONPathDemo { 

    公共の 静的な 無効メイン(文字列[] args)を{ 

        文字列のJSON = "{\"ストア\ ":{\"ブック\ ":[{\"タイトル\ ":\"高效のJava \ "\"価格\ ":10.2}、{\"タイトル\ ":\"设计模式\」、\ "価格\":12.2}、{\ "タイトル\":\ "重构\"、\ "ISBNの\": \ "553 \"、 "価格\" \:8}、{\ "タイトル\": "虚拟机\" \、 "ISBNの\" \ "395 \" \ \ "価格\":22}] 、\ "自転車\":{\ "カラー\": "赤\" \ \ "価格\":19}}}」// 文字列式1 =(文字列)JSONPath.read(JSON、 "$ store.book [0] .TITLEを。");
        // int型式2 =(int型)JSONPath.read(JSON、 "$ store.book [0] .price"); 

        //分離されたチェックポイントのうちチェックポイント; 
        文字列のparams = "$ .store.book [0 ] .TITLE = 効率のJava ;. $ Store.book [0] = 10.2 .price" ; 
        文字列[]データ = params.split( ";" ); 
// 反復、それぞれが対応するデータJSONでのチェックポイント取得 地図<文字列、オブジェクト> =、地図新しい新しい HashMapを<> (); のためint型 I = 0; I <データ.LENGTH; I ++ ){ // するSystem.out.println(DATA [I]); map.put(データ[I] .split( "=")[0]、DATA [I] .split( "=") [1。);] のSystem.out.println( "リターンデータJSONPath:" + JSONPath.read(JSON、データ[I] .split( "=")[0 ])); System.out.printlnは("述語データJSONPath:" + map.getとして(データ[I] .split( "=")[0 ])); //は、チェックポイントデータかどうかを判断し、データ一致JSONを返す IF(JSONPath.read(JSON、データ[I] .split( "=")[0])のinstanceofの文字列){ IF(JSONPath.read(JSON、データ[I] .split( "=")[0])。map.getとして等号((DATA [ I] .split( "=")[0 ]))){ するSystem.out.println( "パスA" ); } { するSystem.out.println( "失敗A" ); } } { // オブジェクト文字列ターン IFを((JSONPath.read(JSON、データ[I] .split( "=")[0])のtoString())。等号((map.get(データ[I] .split( "=")[0 ] )))){ するSystem.out.println( "パスB" )。 } { するSystem.out.println( "フェイルB" )。 } } } } }

 

 

おすすめ

転載: www.cnblogs.com/wakey/p/11760471.html