web-dev-qa-db-ja.com

JSON Postman応答を解析する

Postmanでテストを行って投稿リクエストを行い、json応答を解析する必要がある

応答は次のようになります。

"aPIProxy" : [ {
    "name" : "SFDC-UpdateLoginTime-v1",
    "revision" : [ {
      "configuration" : {
        "basePath" : "/",
        "steps" : [ ]
      },
      "name" : "1",...some attributes}]

そして私は次のようなものを取得する必要があります:

"name" : "SFDC-UpdateLoginTime-v1"
"name" : "1"

複数回出現するjsonファイルの場合。

5
Giorgio Toki

以下の郵便配達員スクリプトが役立つかもしれません。

var jsonData = JSON.parse(responseBody);
var jsonNamesData = jsonData.aPIProxy;
console.log(jsonNamesData);
var parsedData = "";
for(var i=0;i<jsonNamesData.length;i++){
    parsedData = parsedData +"\"name\" : \"" +jsonNamesData[i].name+"\", ";
    console.log("\"name\" : \"" +jsonNamesData[i].name+"\"");
}
console.log(parsedData);
postman.setEnvironmentVariable("parsedNamesResponse", parsedData); // updating parsed data to the environment variable parsedNamesResponse
2
Veeresh

Lodashの_.map()関数を使用して、複数の「name」プロパティをキャプチャできます。これは、ネイティブアプリケーションで構築されたitモジュールです。 nameキーが重複していたため、必要なものを少し変更する必要がありました。

const result = _.map(pm.response.json().aPIProxy, data => ({
  name: data.name,
  revisionName: data.revision[0].name
}))

pm.environment.set("response", JSON.stringify(result))

これにより、すべての値が環境変数に格納され、別のリクエストの別の場所で使用できるようになります。

Postman

2
Danny Dainton