2017-12-12 33 views
0

ためJSONPathを確認してください:私は、次のJSON文字列を持って空の文字列

{ 
    "myKey": "myValue" 
} 

私は、この文字列が空でないかどうかを確認したいです。私はこれを行うことができます:

$.myKey 

myKeyの値を取得します。私は

$.[?(@.myKey.length()>0)] 

(このトピックExpression to filter out elements with empty arrays using `jsonPath`あたりなど)、あるいはこれにそれを変更しようとしました:

$.myKey.length()>0 

が、私はそれが有効なJSONPath式ではないというエラーが発生します。

"JsonPath Match"をプロジェクトのテストステップに追加します。

$.myKey 

に設定して「現在から選択」を押すと機能します。私は、 "現在の選択" を押したときに

$.[?(@.myKey != '')] 

のために、私は私がSOAPUI 5.4.0使用しますが、私はどのように知りません

"無効JsonPath表現"

を取得しますJsonPathの実装を確認してください。文字列が空であればfalseにしたい。

myValueが空であるかどうかを確認するにはどうすればよいですか?ありがとう!

答えて

1

次のjsonpathフィルタ:$.[?(@.myKey != '')]は、属性myKeyが空の文字列でない場合にドキュメントを返します。

これはJayway JsonPath evaluatorを使用して確認できます。この場合は

...

にはどうすればmyValueが空であるかどうかを確認することができますか?

...「myKeyが入力されている場合のみドキュメントを返すだけです」と表示された場合、上記のjsonpathフィルタで十分です。

+0

ありがとうございました。残念ながら、たとえそれがJSONPathエバリュエーターで動作したとしても、SoapUIで動作しませんでした。ここでは、 – user1809566

+0

SoapUI ..貴重な追加情報です。数多くのJsonPathの実装と、JsonPathを使用するさまざまな方法があります。おそらくあなたはあなたの質問を更新して(1)**正確に**あなたがJsonPathをどのように使用しているかを記述することができます。 (2)使用しているJsonPathの実装バージョン(バージョンを含む) (3)JsonPath式をどのように適用するか、(4)得たい結果(例えば、与えられたフィルタを適用した後にJSONドキュメントを取得したいのですか?フィルタは適用できますか?) – glytching

+0

元の投稿に追加情報を追加しました – user1809566

関連する問題