問題タブ [jsonslurper]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
json - JsonSlurper の使用方法
ユーザーを作成して ID を返す SOAP UI のテスト ケースを作成しました。これが JsonResponse です。Groovy スクリプトを使用して、IDを抽出する必要があります
私はGroovyが初めてです。これで私を助けてください。
json - 引用符がエスケープされた Groovy JsonSlurper JSON 値
メール内の JSON 文字列を解析する Groovy で書かれた小さなツールを開発しています。これらの JSON 文字列の一部には、エスケープされた引用符を含む JSON 値が含まれています。
例えば:
これらの文字列を解析するために、Groovy の JsonSlurper を使用しています。次のコードは、私の問題を示しています。
ライブ デモについては、https://groovyconsole.appspot.com/script/6193189027315712を参照してください。
このコードを実行すると、次の例外がスローされます。
したがって、引用符のエスケープは JsonSlurper によって無視されます。残念ながら、入力、つまり JSON 文字列を制御することはできません。したがって、そのような JSON 文字列を解析してマップまたはその他の適切なデータ構造にする方法を見つける必要があります。
groovy - Groovy を使用して WebService レスポンスを Json Arrary および Jsobobject に変換する
SoapUI を使用して RESTful Web サービスをテストしています。そのためにGroovyを使用します。jsonslurper を使用して、応答をオブジェクト型として解析しています。
私たちの応答は次のようになります。
この後、私は方法に固執しました。
- Get Array (これは配列であるため ( - で始まる
language
) - キーを渡して、この各配列セルから値を取得する方法 (
result
キー の値を取得する必要がありますname='MATHS'
。)
Javaでもできたのですが、Groovyを習ったばかりの私には理解できませんでした。同じ名前の異なるキーがあります。
json - Groovy + JsonSlurper の奇妙な動作
JSON ファイルを解析する次のコードがあります。
次の JSON ファイルを処理するには:
このコードを実行すると、次のエラーが表示されます。
もちろん、アプリケーションのデバッグを段階的に開始して、コードのどの部分であるprocessing()がこの例外をスローするかを確認しました。驚くべきことに、そこにあるすべてのコードは正常に実行されます。例外をスローして結果を返すことはありません。
さらに驚いたのは、最初のメソッドのコードを少し変更すると、例外が発生せずに動作することです。
printlnメソッドがそこにあるものをどのように変更できるかわかりません。もちろん、トリックを実行するのは必ずしもprintlnメソッドである必要はありません。したがって、次のようなことをすると:
同様に機能します(例外はスローされません)。json ファイルを処理した後に追加のコードを作成すると、ここで変更が必要になる理由がわかりません。
先ほど実際に処理メソッドをコメントアウトしたので、メソッド本体は以下のようになります。
そして、私は同じ例外を受け取りますが。したがって、エラーは処理メソッドの実装とは関係ありません。
ご意見をお待ちしております。
json - JsonSlurper の float 精度の問題
POST rest 呼び出しの本体データとして使用する前に、変更する必要があるいくつかのデータと構成パラメーターを含むファイルがあります。
だから私はスラーパーを使って設定値を取得しています
次に、目的の構成パラメーターを変更します
そして、変更された入力ファイルが一時ファイルに書き込まれます
出力ファイルが入力ファイルの 3 倍の大きさであることに気付いたときは、かなり驚きました。内容を確認したところ、slurper が float の精度を変更したようです。
変更前
修正後
それを修正する方法はありますか?
編集 1: いくつかの入力データを追加