如何在javascript中访问嵌套JSON响应体的内容?
我需要使用frisby.js自动执行一些API测试,我一直在访问JSON响应体中嵌套的一些数据 下面是我的代码如何在javascript中访问嵌套JSON响应体的内容?,javascript,json,frisby.js,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:
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.logvoyage.departureVoyage.voyages的输出
[ { endTime: '22:30',
quotas: [ [Object], [Object], [Object], [Object], [Object] ],
time: '20:00',
vessel:
{ carriesVehicles: true,
TypeCode: 'FE',
TypeName: 'Ferry' } } ]
我的问题是,当我尝试使用console.logvoyage.departureVoyage.voyages.quotas访问配额的内容时;我收到未定义的消息。
您知道如何获取此配额的数据吗?因为我需要达到这个配额的属性,比如其中一个配额的id
谢谢voyage.departurevoyages.voyages是一个数组,配额位于该数组的第一项中
请参考下面的内容,了解其中的配额
voyage.departureVoyage.voyages[0].quotas
voyage.departurevoyages.voyages是一个数组,配额位于该数组的第一项中
请参考下面的内容,了解其中的配额
voyage.departureVoyage.voyages[0].quotas
但当我使用console.logvoyage.departureVoyage.voyages[1];当我使用console.logvoyage.DepartureVoyages.voyages.results[0]时,我会收到未定义的消息;这一次,它给出了以下错误类型错误:无法读取未定义的属性“0”。由于未定义,您无法使用voyage.DepartureVoyages.voyages.results[0]。结果键在对象中的确切位置?发布完整的对象。如果它处于相同的配额级别,您可以像voyage.departureVoyage.voyages[0]一样引用它。结果非常感谢您的朋友!我使用了console.logvoyage.DepartureVoyages.voyages[0]。配额[0]。id;而且它工作得很好!凉的没问题。快乐编码:但当我使用console.logvoyage.departureVoyage.voyages[1]时;当我使用console.logvoyage.DepartureVoyages.voyages.results[0]时,我会收到未定义的消息;这一次,它给出了以下错误类型错误:无法读取未定义的属性“0”。由于未定义,您无法使用voyage.DepartureVoyages.voyages.results[0]。结果键在对象中的确切位置?发布完整的对象。如果它处于相同的配额级别,您可以像voyage.departureVoyage.voyages[0]一样引用它。结果非常感谢您的朋友!我使用了console.logvoyage.DepartureVoyages.voyages[0]。配额[0]。id;而且它工作得很好!凉的没问题。快乐编码:你调试代码了吗?你调试代码了吗?