2015-10-20 72 views
0

我想用JS来构建一个JSON数组,看起来非常像这样:推子阵列JavaScript数组

{ 
    "someKey":"someValue", 
    "lines":{ 
     "1": { 
      "someKey": "someValue" 
     }, 
     "2" { 
      "someKey": "someValue" 
     }, 
    } 

} 

这里是我的JavaScript:

var myArray = { 
    someKey: "someValue", 
    lines: [] 
}; 


var count = 0; 

$('.class_that_exists_twice').each(function() { 

count ++;   

    myArray.lines[count] = { 
    someKey: "someValue", 
    }; 

}); 

然而,返回的数组看起来是错误的。任何想法我做错了什么? (请让我知道我是否应该发布阵列)

非常感谢!

+3

样品不是数组的话,那是一个对象字面。这是用来做什么的?实际的数组可能更容易使用 – charlietfl

+0

它应该成为稍后在PHP中使用的JSON数组,我忘记提到我稍后使用'JSON.stringify'来转换为JSON数组。 – Frank

+0

在php中做什么,不需要添加索引到javascript对象作为属性键使用它作为索引数组在php – charlietfl

回答

1

你试图创建的不是一个数组,而是一个对象。因此,它应该是这样的:

var myArray = { 
    someKey: "someValue", 
    lines: {} 
}; 

其余的看起来不错

+0

非常感谢!我会接受答案asap – Frank

1

在第一个JSON行是一个对象。如果你希望得到您的JSON的样子,你可以这样做:

var myArray = { 
    someKey: "someValue", 
    lines: {} 
}; 

$('.class_that_exists_twice').each(function(index, obj) {   
    myArray.lines[index] = { 
     someKey: "someValue", 
    }; 
}); 

小提琴:http://jsfiddle.net/g1pseum6/

+1

非常感谢!因为它应该:) – Frank

+0

@Mortimer不客气! – AtheistP3ace