【发布时间】:2019-08-30 12:17:36
【问题描述】:
一种更简单的方法来遍历 response.Body 数组并检索特定元素 Id 和 DataFields.Value 的值 - 用于控制台日志
RESPONSE BODY - 这是 Postman 发送请求时返回的内容
[
{
"Id": "ae61098c-eb7c-4ee8-aca7-aa080112d656",
"DataFields": [
{
"Header": "LocationDetails.LocationID",
"Value": "BH127"
}
],
},
{
"Id": "84cd9a9f-d085-4642-b484-aa080112d656",
"DataFields": [
{
"Header": "LocationDetails.LocationID",
"Value": "BH128"
}
],
},
{
"Id": "6629d92b-1dcf-4fc1-a019-aa080112d656",
"DataFields": [
{
"Header": "LocationDetails.LocationID",
"Value": "BH129"
}
],
},
{
"Id": "47442b4f-f691-4213-b705-aa080112d656",
"DataFields": [
{
"Header": "LocationDetails.LocationID",
"Value": "BH130"
}
],
}
]
我的代码 - 测试标签中的 JavaScript
var logReportDataQryResults = JSON.parse(responseBody);
var locationOne = 0;
var locationTwo = 1;
var locationThree = 2;
var boreholeOne = logReportDataQryResults[locationOne].Id;
const objOne = logReportDataQryResults[locationOne].DataFields.find(({ Header }) => Header == 'LocationDetails.LocationID');
const holeOne = objOne ? objOne.Value : 'Not Found';
var boreholeTwo = logReportDataQryResults[locationTwo].Id;
const objTwo = logReportDataQryResults[locationTwo].DataFields.find(({ Header }) => Header == 'LocationDetails.LocationID');
const holeTwo = objTwo ? objTwo.Value : 'Not Found';
var boreholeThree = logReportDataQryResults[locationThree].Id;
const objThree = logReportDataQryResults[locationThree].DataFields.find(({ Header }) => Header == 'LocationDetails.LocationID');
const holeThree = objThree ? objThree.Value : 'Not Found';
我想让代码更有效率和可读性
【问题讨论】:
-
您是否尝试将
Value获取到具有Header"LocationDetails.LocationID" 的项目,并为此数组中的前三个对象执行此操作? -
@VLAZ,是的,我是
标签: javascript arrays postman