Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/465.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.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
javascript使用动态变量解析嵌套json_Javascript_Json_Parsing_Hash_Nested - Fatal编程技术网

javascript使用动态变量解析嵌套json

javascript使用动态变量解析嵌套json,javascript,json,parsing,hash,nested,Javascript,Json,Parsing,Hash,Nested,我试图解析api调用返回的一些嵌套json。下面是返回内容的简化版本 { "Includes":{ "Products":{ "P123456":{ "Brand":{}, "Description":"ipsem lorem", "Statistics": [ "Author":"John Smith", "IsFeatured":false,

我试图解析api调用返回的一些嵌套json。下面是返回内容的简化版本

{
  "Includes":{
    "Products":{
      "P123456":{
        "Brand":{},
        "Description":"ipsem lorem",
        "Statistics":
          [
           "Author":"John Smith",
           "IsFeatured":false,
           "Total": 3
          ]
       }
     }
   }
 }
我尝试了几种不同的语法,以获得我需要的product_code=“P123456”

我也尝试过使用“get”和“eval”但没有效果。错误响应总是相同的

application.js:1639 Uncaught TypeError: Cannot read property 'Statistics' of undefined
我知道产品代码是正确的,因为我已经记录了它。我还成功地登录了console.log

data.Includes.Products["P123456"].Statistics

如何访问嵌套在产品代码“P123456”下的数据?该项目使用zepto而不是jQuery。

如果数据结构有效,您可以通过

object.Includes.Products.P123456

var对象={
“包括”:{
“产品”:{
“P123456”:{
“品牌”:{},
“描述”:“ipsem lorem”,
“Statistics”:{//它是一个对象,不是数组
“作者”:“约翰·史密斯”,
“IsFeatured”:错误,
“总数”:3
}
}
}
}
},
产品代码='P123456';
document.write(“”+JSON.stringify(object.Includes.Products.P123456,0,4)+“”);

document.write(''+JSON.stringify(object.Includes.Products[product_code],0,4)+'')使用有效的数据结构,您可以通过

object.Includes.Products.P123456

var对象={
“包括”:{
“产品”:{
“P123456”:{
“品牌”:{},
“描述”:“ipsem lorem”,
“Statistics”:{//它是一个对象,不是数组
“作者”:“约翰·史密斯”,
“IsFeatured”:错误,
“总数”:3
}
}
}
}
},
产品代码='P123456';
document.write(“”+JSON.stringify(object.Includes.Products.P123456,0,4)+“”);

document.write(''+JSON.stringify(object.Includes.Products[product_code],0,4)+'')您已经试过了吗<代码>数据.Includes.Products.P123456.统计数据
?它看起来像属性,而不是索引字符串。

您已经尝试过了吗<代码>数据.Includes.Products.P123456.统计数据
?它看起来像属性,而不是索引字符串。

对象。键(data.Includes.Products)将返回产品下的键数组

如果需要第一个
Object.keys(data.Includes.Products)[0]

可以检索统计数据

纯JavaScript。。。没有图书馆

另外,您的JSON格式不正确。“Statistics”数组将导致撕裂。

Object.keys(data.Includes.Products)
将返回Products下的一个键数组

如果需要第一个
Object.keys(data.Includes.Products)[0]

可以检索统计数据

纯JavaScript。。。没有图书馆


另外,您的JSON格式不正确。“统计”数组会让人流泪。

这很有效,谢谢。其他答案似乎都没有注意到我无法控制返回的数据。我尝试使用$.getJSON和$.ajax。我对js和json没有经验,你介意解释一下json是如何格式错误的吗?不知道为什么我的问题被否决了。很高兴我能帮上忙。数组[]的“统计”关键点应该是另一个对象{}@Nina Scholz的答案中有正确的JSON。不确定是否会有反对票:(顺便说一句,你能把这个标记为正确答案吗?我是新来的,需要一个代表,这样我就可以在我的答案之外发表评论。这很有效,谢谢。其他答案似乎都没有注意到我无法控制返回的数据。我试着使用$.getJSON和$.ajax。我对js和json没有经验,你介意解释一下json是如何使用的吗L格式?不确定为什么我的问题被否决。很高兴我能提供帮助。数组[]的“统计”关键点应该是另一个对象{}。@Nina Scholz在她的答案中有正确的JSON。不确定否决票:(顺便说一句。你能将此标记为正确答案吗。我是新来的,需要代表,以便我可以在我的答案之外发表评论。
object.Includes.Products[product_code]
var key = Object.keys(data.Includes.Products);
var statistics = data.Includes.Products[key].Statistics;