在不使用getJSON的情况下从Javascript中的枚举JSON子数组检索数据
我不熟悉JSON和ajax,但我尝试访问数组中的数据,其中项目在另一个子数组中的子数组中枚举。我遇到了一些问题,我试图访问在不使用getJSON的情况下从Javascript中的枚举JSON子数组检索数据,javascript,ajax,arrays,json,syntax,Javascript,Ajax,Arrays,Json,Syntax,我不熟悉JSON和ajax,但我尝试访问数组中的数据,其中项目在另一个子数组中的子数组中枚举。我遇到了一些问题,我试图访问 data.items[0].details.specs[1].name data.items[0].details.specs[1].id data.items[0].details.specs[2].name data.items[0].details.specs[2].id etc 有人能给我指出正确的方向,告诉我如何正确地访问它吗?谢谢 更新:下面是对我的问题的澄清
data.items[0].details.specs[1].name
data.items[0].details.specs[1].id
data.items[0].details.specs[2].name
data.items[0].details.specs[2].id
etc
有人能给我指出正确的方向,告诉我如何正确地访问它吗?谢谢
更新:下面是对我的问题的澄清,JSON响应是什么样子的:
{data:{
items: [
{details: {specs:[{name:'something1', id:'something1'},
{name:'something2', id:'something2'},
{name:'something3', id:'something3'},
...
]}}
{details: {specs:[{name:'somethingA', id:'somethingA'},
{name:'somethingB', id:'somethingB'},
{name:'somethingC', id:'somethingC'},
...
]}}
{details: {specs:[{name:'somethingX', id:'somethingX'},
{name:'somethingY', id:'somethingY'},
{name:'somethingZ', id:'somethingZ'},
...
]}}
]}
}
我如何访问,例如,“name:somethingB”?可能只是规格不是对象数组 您的json需要像这样才能以这种方式访问
{
data:{
items: [
{details:
{specs:[
{name:'something1', id:'something1'},
{name:'something2', id:'something2'},
{name:'something3', id:'something3'},
...
]
}
}
]
}
}
编辑:根据OP,这是浏览器缓存问题嘿,谢谢您的回复。是的,这个数组有多个“项目”数组,每个项目中都有一个“规格”数组。那么我如何访问您示例中的“name:something2”?(哎哟,对不起,我会在更新我的问题时澄清)@Archie,根据你的更新,看起来你的JSON和你对JSON的使用都很好,所以这可能是因为你的浏览器缓存(它读取旧JSON,如果你访问
数据.items[0]。details.specs[1]。name
)导致的,因此,请尝试清除浏览器缓存并重试。但有一件事@Archie,请确保json中的数组结尾没有多余的逗号,例如[{name:'name1',id:'id1'},{name:'name1',id:'id1'},]
某些浏览器无法使用它。哇。。。花了一整天的时间想弄明白这一点,我感觉很糟糕,但你解决了我的问题,我欣喜若狂。清除浏览器缓存成功了,谢谢!有时候,当您进行AJAX调用时,@Archie需要传递伪参数,如?1234
,以避免缓存问题。