gpt4 book ai didi

javascript - 在 JSON 数组 Javascript 中访问 JSON 对象

转载 作者:行者123 更新时间:2023-11-30 20:01:10 25 4
gpt4 key购买 nike

我需要访问以下 JSON,并且必须根据“内容”中每个“选项”数组中的书籍数量创建复选框。如果我访问“ctrl.content = result.data.bookHistory.contents[0].options;”它正在读取内容 [0] 的选项数组,并且成功创建了复选框。在我的例子中,已经为两本书 Predator 和 Alien 创建了两个复选框。但是当我尝试“ctrl.content = result.data.bookHistory.contents[1].options.action;”没有创建复选框,ctrl.content 在“console.log(ctrl.content);”中显示未定义.我尝试访问“ctrl.content = result.data.bookHistory.contents[1].options;”还。没有运气。任何帮助将不胜感激。

JSON

{
"bookhistory" : {
"contents" : [
{
"options" : [
{
"title" : "Predator",
"type" : "CHECKBOX"
},
{
"title" : "Alien",
"type" : "CHECKBOX"
}]
},
{
"options" : [
{
"action" :
{
"title" : "batman",
"type" : "CHECKBOX"
}
}]
}]
}
}

最佳答案

options 是一个数组,你不能直接调用options.action,你需要调用options[0].action 然后它会给你具有标题和类型的 Action 对象。

请看下面的代码。

var res = {
"bookhistory" : {
"contents" : [
{
"options" : [
{
"title" : "Predator",
"type" : "CHECKBOX"
},
{
"title" : "Alien",
"type" : "CHECKBOX"
}]
},
{
"options" : [
{
"action" :
{
"title" : "batman",
"type" : "CHECKBOX"
}
}]
}]
}
}


console.log("direclty calling =>",res.bookhistory.contents[1].options[0].action)

// you can use the forEach method, you can check the data basically contents is an array and for the first item options doesn't have action but the second item in the contents have action for the options array.

// inorder to print you can use a if conditon as shown below

console.log("using loops")

res.bookhistory.contents.forEach(o => {
o.options.forEach(so => {
if(so.action){
console.log(so.action)
}else{
console.log(so)
}
})
})

关于javascript - 在 JSON 数组 Javascript 中访问 JSON 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53362084/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com