Javascript 如何创建JSON列表?

Javascript 如何创建JSON列表?,javascript,jquery,json,asp.net-mvc-3,Javascript,Jquery,Json,Asp.net Mvc 3,我必须形成一个JSON对象,比如 var SelectedRows= { "item1":{"id":"1","name":"jhon","phone":"6699"}, "item2":{"id":"2","name":"Aron","phone":"7799"}, "item2":{"id":"3","name":"Iyan","phone":"8899"}, } 在复选框单击事件中,我需要将网格行值添加到JSON列表中。

我必须形成一个JSON对象,比如

var SelectedRows=   {
        "item1":{"id":"1","name":"jhon","phone":"6699"},
        "item2":{"id":"2","name":"Aron","phone":"7799"},
        "item2":{"id":"3","name":"Iyan","phone":"8899"},
        }
在复选框单击事件中,我需要将网格行值添加到JSON列表中。我正在尝试使用以下代码:

var SelectedRows={};

$(this).delegate(":checkbox", "click", function() {        
    var j=0;
    var item=[];
    SelectedRows[item]={};        *//I guess this line creating problem*     
    $(this).closest("tr").find("td:visible").each(function(){            
        var key=headerRow[j]["i"];            
        if(j == 0)
        {              
        }
        else
        {   
            SelectedRows[item][key]=$(this).text(); 
        }
        j=++j; 
     });
多个复选框单击事件发生后,
SelectedRows
仅包含上次单击事件数据


如何获取所有复选框单击事件数据?

替换
var项[]通过
var项='item'+(j+1)和结果应为

var SelectedRows=   {
    "item1":{"id":"1","name":"jhon","phone":"6699"},
    "item2":{"id":"2","name":"Aron","phone":"7799"},
    "item2":{"id":"3","name":"Iyan","phone":"8899"},
    }

我是这样做的。它正以上述格式显示

var SelectedRows=[];
var rowCount=1;
使用额外的计数变量从item1、item2、item3等中删除

    $(this).delegate(":checkbox", "click", function() {
        var j=0;
        var item={};    
            $(this).closest("tr").find("td:visible").each(function(){
               var key=headerRow[j]["i"];
                   if(j == 0){ }
                   else {
                          item[key]=$(this).text();
                        }
               j=++j; 
            });
            SelectedRows["item"+rowCount]=item;
            rowCount=++rowCount;
  });

您可以像这样创建一个json数组

var SelectedRows=   [
    item1:{id:"1",name:"jhon",phone:"6699"},
    item2:{id:"2",name:"Aron",phone:"7799"},
    item2:{id:"3",name:"Iyan",phone:"8899"}
]

这是您试图创建的一个有趣的JSON对象。为什么不使用数组而不是添加具有伪键item1、item2、item3等的元素。?为什么每个项目都由一个只有一个元素的数组组成
不是有效的Javascript,你想用它做什么?@Barmar,这是打字错误,我编辑了它。现在你正在使用一个未定义的变量
item
@Codo,我在服务器端使用这些键(id、名称、电话),所以我决定创建json对象。上面的json对象格式可能错误(伪键item1、item2、item3等)。