Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在不使用getJSON的情况下从Javascript中的枚举JSON子数组检索数据_Javascript_Ajax_Arrays_Json_Syntax - Fatal编程技术网

在不使用getJSON的情况下从Javascript中的枚举JSON子数组检索数据

在不使用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 有人能给我指出正确的方向,告诉我如何正确地访问它吗?谢谢 更新:下面是对我的问题的澄清

我不熟悉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
有人能给我指出正确的方向,告诉我如何正确地访问它吗?谢谢

更新:下面是对我的问题的澄清,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
,以避免缓存问题。