如何在javascript中访问嵌套JSON响应正文的内容?

时间:2017-01-05 18:30:32

标签: javascript json frisby.js

我需要使用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"信息。 你知道如何获得这个"配额"的数据?因为我需要达到这个" quotas"的属性,就像他们的id一样。

由于

1 个答案:

答案 0 :(得分:4)

quotas是一个数组,配额位于该数组的第一项

请参考下面的内容voyage.departureVoyage.voyages[0].quotas

{{1}}