Javascript 如何从JSON中的对象数组中提取对象?
我有一个带有对象数组的简单json,我设法提取了记录,但它带有方括号,我只想要对象Javascript 如何从JSON中的对象数组中提取对象?,javascript,json,Javascript,Json,我有一个带有对象数组的简单json,我设法提取了记录,但它带有方括号,我只想要对象 var res={ “总尺寸”:3, “完成”:正确, “记录”:[{ “Id”:“1”, “案件编号”:“1”, “主题”:“测试1” }, { “Id”:“2”, “案件编号”:“2”, “主题”:“测试2” }, { “Id”:“3”, “案件编号”:“3”, “主题”:“测试3” }] } var extractedRecord=res.records.slice(0,1); 预期结果: {
var res={
“总尺寸”:3,
“完成”:正确,
“记录”:[{
“Id”:“1”,
“案件编号”:“1”,
“主题”:“测试1”
}, {
“Id”:“2”,
“案件编号”:“2”,
“主题”:“测试2”
}, {
“Id”:“3”,
“案件编号”:“3”,
“主题”:“测试3”
}]
}
var extractedRecord=res.records.slice(0,1);
预期结果:
{
"Id": "1",
"CaseNumber": "1",
"Subject": "test1"
}
实际结果:
[
{
"Id": "1",
"CaseNumber": "1",
"Subject": "test1"
}
]
看看这个。只需执行
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”}
const data=res.records[0]
控制台日志(数据)
Arrray.prototype.slice()
作为其状态,从原始数组返回一个新数组
来自MDN(我的重点):
slice()方法返回数组一部分的浅拷贝
进入从开始到结束(不包括结束)选择的新数组对象
其中begin和end表示该数组中项目的索引。这个
原始数组将不会被修改
知道了这一点,您会得到一个返回的数组(即,您的对象被[
和]
包围)就不足为奇了。因此,您只需提取其中的唯一项:
var extractedRecord = res.records.slice(0, 1)[0];
了解。关于数组,一般来说。只需使用res.records[0]
为什么我的问题被否决了?至少为我今后的案例提供一些建议你需要.slice()
?@axiac不需要,但基于OP上下文的回答请提供一些解释,否则OP无法知道他们做错了什么。他们没有做错任何事,但这是另一种实现问题答案的方法,也可以不使用切片方法获得答案。这是唯一正确的答案,因为在中,使用slice()没有任何意义
当您只想访问数组元素时。@MichałSadowski是和否。您是对的,这个答案显示了实现所需输出的最短路径。但是,就OP对slice()
如何工作表示困惑而言,值得解释这种错误思维。@Utkanos是正确的,但我认为指出如何访问数组元素也很重要。我接受了这个答案,而不是其他答案,因为@Utkanos提供了解释,而不仅仅是代码。干杯