2015-12-02 204 views
2

问题陈述阵列内的另一个阵列

我试图创建这个数组内的另一个数组的数组,但它并没有为我工作。

这是我写的:

var arr = '{"project":[' 
        + '{"id":"01","name":"project1","activity":[' 
        + '{"num":"001","time":"7","desc":"desc","stam":[' 
        + ' "pre":"005","pre2":"002"]}' 
        + '{"num":"002","time":"6","desc":"desc"}' 
        + '{"num":"003","time":"5","desc":"desc"}' 
        + '{"num":"004","time":"4","desc":"desc"}' 
        + '{"num":"005","time":"3","desc":"desc"}]}]}'; 
+0

这可能是有用的,我是新来的js所以不知道是否有任何帮助其http://stackoverflow.com/questions/9871634/javascript-array-inside-array-how-can- i-call-child-array-name –

+6

不要试图通过将字符串砸在一起来构建JSON。调试太痛苦了。使用真正的数组和真实的对象,一旦你完成,使用'JSON.stringify'。 – Quentin

+3

也就是说,如果您将得到的字符串粘贴到http://jsonlint.com/(投票关闭,因为问题是由简单的印刷错误导致的),就会显示您的小错别字。 – Quentin

回答

4

你的JSON看起来损坏。您可以使用多个在线编辑器和验证器来验证JSON字符串。 editorvalidator只是其他mony的一个例子。你也可以看看here

  • ,的数组元素之间缺失
  • 财产stam看起来更像一个对象不是一个数组

它应该是这样的:

{"project":[ 
      {"id":"01","name":"project1","activity": 
       [ 
       {"num":"001","time":"7","desc":"desc","stam":{ 
        "pre":"005", 
        "pre2":"002" 
       } 
       }, 
       {"num":"002","time":"6","desc":"desc"}, 
       {"num":"003","time":"5","desc":"desc"}, 
       {"num":"004","time":"4","desc":"desc"}, 
       {"num":"005","time":"3","desc":"desc"} 
       ] 
      } 
      ] 
} 
0

的JSON是不格式正确:

{ 
 
    project : [{ 
 
    id : "01", 
 
    name: "project1", 
 
    activity :[ 
 
     { 
 
     num : "001", 
 
     time : "7", 
 
     desc : "desc", 
 
     stam : [{ 
 
      pre : "005", 
 
      pre2: "002" 
 
     }] 
 
     }, 
 
     { 
 
     num : "002", 
 
     time: "6", 
 
     desc: "desc" 
 
     }, 
 
     { 
 
     num : "003", 
 
     time: "5", 
 
     desc:"desc" 
 
     }, 
 
     { 
 
     num : "004", 
 
     time: "4", 
 
     desc: "desc" 
 
     }, 
 
     { 
 
     num : "005", 
 
     time: "3", 
 
     desc: "desc" 
 
     } 
 
    ] 
 
    }] 
 
}