微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何解析这样的json响应(20) [{…}, {…}, {…}, {…}, {…}, …]

如何解决如何解析这样的json响应(20) [{…}, {…}, {…}, {…}, {…}, …]

我正在和邮递员一起做一个预请求脚本。 我从 API 访问标头,使用 res.headers 并获得

(20) [{…},{…},…]
0: {…}
key: "Date"
value: "Fri,30 Apr 2021 13:56:36 GMT"

enter image description here

如何从此处的日期获取值? typeof(res.headers) 返回它的一个对象,但在我看来它就像一个对象数组。我尝试了不同的版本,如 res.headers[0]、res.headers['Date'] 等。

解决方法

在您的问题中编辑一些关于您的堆栈是什么样子的信息可能会有所帮助(即,这是否是带有某种中间件的 Express 或其他东西)。

您拥有的是 ArrayObjects。如果您打算从 value 值为 key 的对象的 Date 键中提取数据,您必须首先以某种方式首先在数组中找到该特定对象,然后提取其value

const dateValue = res.headers.find(cv => cv.key === "Date").value;

进一步阅读:Array.prototype.find()

,

你可以试试这个例子片段:

let outputData =  [
  {key : 'Date',value: 'Fri,30 Apr 2021 13:56:36 GMT'},{key : 'Test',value: 'TestingValue'}
];

// filter out the object from the array containing key as Date.

let filteredData = outputData.filter((obj) => (obj.key == "Date"));

/* .filter returns a list of all the objects from the array matching the condition. So we fetch the first object from the filteredData array using index as filteredData[0] and fetch its value attribute */

console.log(filteredData[0].value); 

Output: Fri,30 Apr 2021 13:56:36 GMT
,

为了避免每次要访问特定属性时都必须遍历 headers 数组,您可能需要将其重构为更易于访问的形式。这里使用 Object.assign() 并映射 res.headers 数组以返回单个对象。

const res = {
  headers: [
    {
      key: "Date",value: "Fri,30 Apr 2021 13:56:36 GMT"
    },{
      key: "Server",value: "Apache"
    }
  ]
};

const headers = Object.assign({},...res.headers.map(({ key,value }) => ({ [key]: value })));

// {
//   "Date": "Fri,30 Apr 2021 13:56:36 GMT",//   "Server": "Apache"
// }

console.log(headers.Date);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?