Javascript 如何使用Js在循环中动态生成JSON?

Javascript 如何使用Js在循环中动态生成JSON?,javascript,json,loops,for-loop,pebble-watch,Javascript,Json,Loops,For Loop,Pebble Watch,我正在和你做一个项目 我是一个noob,我正在一点一点地学习..因此,在从网页接收JSON并将所有数据放入localStorage对象后,我想将我的变量放入UI.Menu窗口,该窗口基本上是一个JSON变量,如下面的示例所示: var main = new UI.Menu({ sections: [{ items: [ { title: 'street name a', subtitle: 'ID 1121' }, { title: 'street name

我正在和你做一个项目

我是一个noob,我正在一点一点地学习..因此,在从网页接收JSON并将所有数据放入localStorage对象后,我想将我的变量放入UI.Menu窗口,该窗口基本上是一个JSON变量,如下面的示例所示:

var main = new UI.Menu({
sections: [{
  items: [
  {
    title: 'street name a',
    subtitle: 'ID 1121'
  }, {
    title: 'street name b',
    subtitle: 'ID 1431'
  }, {
    title: 'street name c',
    subtitle: 'ID 1907'
  },{
    title: 'street name d',
    subtitle: 'ID 1002'
  },{
    title: 'street name e',
    subtitle: 'ID 1330'
  },

        ]
}]
}); 
我试图在里面做一个循环,但给了我错误…(伪代码)


for(var x=0;x

数据结构是一个具有一些属性和子对象(如数组)的对象。该结构仅在代码中定义对象。不涉及json

json是javascript的一个子集,用于交换数据结构。它由纯文本文件组成,仅包含javascript对象声明,通常通过解析在内存中创建数据结构。通过在代码中声明数据结构,无需使用额外的json解析步骤

要如上所述设置初始结构,请执行以下操作:

var data = {
    sections: [
        {
            items: []
        }
    ]
}
您将获得项目数组:

var items = data.sections[0].items
您可以向该数组添加带有循环的项:

for ( var x = 0; x < 10; x++ ) {
    var item = {
      title: localStorage.title + x,
      subtitle: 'ID ' + localStorage.title + x
    };

    items.push(item);
}

您可能需要查看。这将允许您迭代整个JSON对象,而不必知道它的长度。这样,您可以迭代localstorage对象,并继续推到您定义的空白对象/数组上,然后您应该有一个可以使用的对象。是的,您的假设是正确的!!!这是正确的y我正在尝试做什么!感谢您帮助我了解我需要做什么,如果我在问题中不清楚,请道歉!哦,我还有另一个问题要给您@dreamlab,我尝试了您的解决方案,但这是不可行的(没有显示菜单项)。当然我需要润色一下,有没有一种方法可以在JSFIDLE中进行测试?pebble编译器不会抛出任何与菜单相关的内容。您可以在不使用JSFIDLE中最后一行的情况下测试上述代码。例如:。在控制台中,您可以检查传递给UI.menu的数据结构是否正确。我不知道jspebble。但是如果您有最小的setup要显示菜单,我可以查看它,可能会有所帮助。
for ( var x = 0; x < 10; x++ ) {
    var item = {
      title: localStorage.title + x,
      subtitle: 'ID ' + localStorage.title + x
    };

    items.push(item);
}
var main = new UI.Menu(data)