2015-10-20 69 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