2012-12-10 92 views
1

我用下面的代碼將數據插入到JSON JSON:插入數據從可變

categories: [ 
       'Tokyo', 
       'Jakarta', 
       'New York', 
       'Seoul', 
       'Manila', 
       'Mumbai', 
       'Sao Paulo', 
       'Mexico City', 
       'Dehli', 
       'Osaka', 
       'Cairo', 
       'Kolkata', 
       'Los Angeles', 
       'Shanghai', 
       'Moscow', 
       'Beijing', 
       'Buenos Aires', 
       'Guangzhou', 
       'Shenzhen', 
       'Istanbul' 
      ], 

它的工作原理,但是,我希望把這個數據到一個這樣的數組或字符串變量:

var data = Array('Tokyo', 
       'Jakarta', 
       'New York', 
       'Seoul', 
       'Manila', 
       'Mumbai', 
       'Sao Paulo', 
       'Mexico City', 
       'Dehli', 
       'Osaka', 
       'Cairo', 
       'Kolkata', 
       'Los Angeles', 
       'Shanghai', 
       'Moscow', 
       'Beijing', 
       'Buenos Aires', 
       'Guangzhou', 
       'Shenzhen', 
       'Istanbul'); 
categories: [data], 

但是,它不起作用。你可以幫我嗎 ? 謝謝。

+0

和'類:data'(不'[]')不工作? –

+0

ooops,是的,謝謝 – maxoya

+0

這只是你的錯誤嗎? –

回答

1
data: ['Tokyo', 'Jakarta',...] 

已經是一個陣列,其是物體的一部分。如果你想讓它作爲獨立的變量只是創建這樣的:

var data = ['Tokyo', 'Jakarta',...]; 

,並把它添加到你的對象

var yourObject = {categories: data}; 

你甚至可以做這樣的東西:

var yourObject = {categories: new Array('Tokyo', ...)}; 

但請使用括號表示法

提示:您正在創建「對象字面量」而不是JSON對象。 JSON只是對象字面量的一個子集。閱讀更多here

0

答案是,第一部分工作正是你在第二部分描述的。所以它已經起作用了。

分配這樣的變量:

categories : ['firstElement', 'secondElement']; 

使含有中Array對象的JSON場類別。例如,您可以通過使用categories[0]來訪問'firstElement'。

是完全一樣的,如:

var categoties = new Array(); 
categories.push('firstElement'); 
categories.push('secondElement'); 

你的第二次嘗試不起作用,因爲你不能在構造函數中new Array(...)提供您的數組值。如果使用new Array()將其實例化,則可以使用.push('value')將元素添加到陣列。

+0

我認爲OP只是希望在他的代碼的另一部分初始化數組,然後在他的JSON對象中調用它... –

0
var categories = []; 

var data = ['Tokyo', 
      'Jakarta', 
      'New York', 
      'Seoul', 
      'Manila', 
      'Mumbai', 
      'Sao Paulo', 
      'Mexico City', 
      'Dehli', 
      'Osaka', 
      'Cairo', 
      'Kolkata', 
      'Los Angeles', 
      'Shanghai', 
      'Moscow', 
      'Beijing', 
      'Buenos Aires', 
      'Guangzhou', 
      'Shenzhen', 
      'Istanbul']; 

for (var i = 0; i < data.length; i++) { 
    categories.push(data[i]); 
} 
+0

這是什麼?你只是複製一個數組...? – hereandnow78

+0

@ hereandnow78對不起,但問題並不清楚! – Taai

+0

是的,你是對的;-) – hereandnow78

1

應該

var data = ['Tokyo','Jakarta','New York','Seoul','Manila','Mumbai','Sao Paulo','Mexico City','Dehli','Osaka','Cairo','Kolkata','Los Angeles','Shanghai','Moscow','Beijing','Buenos Aires','Guangzhou','Shenzhen','Istanbul']; 
+0

這不回答如何將它插入JSON對象的部分... –