1

frisby.js を使用していくつかの API テストを自動化する必要があります。JSON 応答本文内にネストされたデータへのアクセスに行き詰まっています。

以下は私のコードです

var frisby = require('c:/frisby');

frisby.create('Request available Voyages')
    .post('someURL', {
        departureVoyage: {
            from: "500",
            to: "500",
            date: '2017-01-07'}})
    .inspectJSON()
    .afterJSON(function (voyage) {
       console.log(voyage.departureVoyage.voyages);}

以下は、inspectJSON() 関数の出力です。

{ type: 'voyageResponseWsDTO',
  departureVoyage:
   { date: '2017-01-07',
     voyages:
      [ { endTime: '22:30',
          quotas:
           [ { id: '8796095719239',
               limit: 66,
               name: 'PROMOTION',
               price: '34',
               priceCurrency: 'USD' },
             { id: '8796095620935',
               limit: 271,
               name: 'ECONOMY',
               price: '51',
               priceCurrency: 'USD' },
             { id: '8796095489863',
               limit: 19,
               name: 'BUSINESS',
               price: '72',
               priceCurrency: 'USD' },
             { id: '8796234721095',
               limit: 0,
               name: 'CAR PROMOTION',
               price: '84',
               priceCurrency: 'USD' },
             { id: '8796095752007',
               limit: 2,
               name: 'VIP',
               price: '800',
               priceCurrency: 'USD' } ],
          time: '20:00',
          vessel:
           { carriesVehicles: true,
             TypeCode: 'FE',
             TypeName: 'Ferry' } } ] } }

以下は console.log(voyage.departureVoyage.voyages); の出力です。

[ { endTime: '22:30',
    quotas: [ [Object], [Object], [Object], [Object], [Object] ],
    time: '20:00',
    vessel:
     { carriesVehicles: true,
       TypeCode: 'FE',
       TypeName: 'Ferry' } } ]

私の問題は、「クォータ」のコンテンツに「」でアクセスしようとすると、console.log(voyage.departureVoyage.voyages.quotas);undefined」メッセージが表示されることです。この「クォータ」のデータに到達する方法を知っていますか? この「クォータ」のプロパティに到達する必要があるため、それらの id などです。

ありがとう

4

1 に答える 1

4

voyage.departureVoyage.voyagesは配列で、クォータはその配列の最初の項目にあります。

quotasその内部については、以下のように参照してください。

voyage.departureVoyage.voyages[0].quotas
于 2017-01-05T18:32:51.463 に答える