-
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" )。 } } } } }