我有一个带有对象数组的简单json,我设法提取了记录,但是它带有方括号,我只想要对象。
var res = {
"totalSize": 3,
"done": true,
"records": [{
"Id": "1",
"CaseNumber": "1",
"Subject": "test1"
}, {
"Id": "2",
"CaseNumber": "2",
"Subject": "test2"
}, {
"Id": "3",
"CaseNumber": "3",
"Subject": "test3"
}]
}
var extractedRecord = res.records.slice(0, 1);
所需结果:
{
"Id": "1",
"CaseNumber": "1",
"Subject": "test1"
}
实际结果:
[
{
"Id": "1",
"CaseNumber": "1",
"Subject": "test1"
}
]
请参阅此jsfiddle。
答案 0 :(得分:1)
只需res.records.slice(0, 1)[0]
var res = {"totalSize":3,"done":true,"records":[{"Id":"1","CaseNumber":"1","Subject":"test1"},{"Id":"2","CaseNumber":"2","Subject":"test2"},{"Id":"3","CaseNumber":"3","Subject":"test3"}]}
var extractedRecord = res.records.slice(0, 1)[0];
console.log(extractedRecord);
您还可以使用传播语法:
var res = {"totalSize":3,"done":true,"records":[{"Id":"1","CaseNumber":"1","Subject":"test1"},{"Id":"2","CaseNumber":"2","Subject":"test2"},{"Id":"3","CaseNumber":"3","Subject":"test3"}]}
var extractedRecord = res.records.slice(0, 1);
console.log(...extractedRecord);
答案 1 :(得分:1)
Arrray.prototype.slice()
,如其documention所述,从原始数组返回一个新数组。
根据MDN(我的重点):
slice()方法返回数组一部分的浅表副本 放入从开始到结束选择的新数组对象(不包括结束) 其中begin和end表示该数组中项目的索引。的 原始数组将不会被修改。
知道这一点,得到一个返回的数组也就不足为奇了(即,用[
和]
包围的对象)。因此,您只需要提取其中的唯一项目:
var extractedRecord = res.records.slice(0, 1)[0];
答案 2 :(得分:0)
尝试此代码。它将对您有用。
var res = {"totalSize":3,"done":true,"records":[{"Id":"1","CaseNumber":"1","Subject":"test1"},{"Id":"2","CaseNumber":"2","Subject":"test2"},{"Id":"3","CaseNumber":"3","Subject":"test3"}]}
const data = res.records[0]
console.log(data);