2013-03-12 16 views
6

Jak utworzyć następujący typ tablicy json za pomocą javascript?Jak utworzyć następujący typ tablicy json za pomocą javascript?

xAxis: { 
    categories: [ 
     'Jan', 
     'Feb', 
     'Mar', 
     'Apr', 
     'May', 
     'Jun', 
     'Jul', 
     'Aug', 
     'Sep', 
     'Oct', 
     'Nov', 
     'Dec' 
    ] 
} 
+0

Wygląda to bardziej jak tablica JavaScript, ponieważ wartości są w pojedynczych cudzysłowach. Istnieje [para] (http://eloquentjavascript.net/chapter4.html) z [wprowadzenia o tablicach] (https://developer.mozilla.org/en-US/docs/JavaScript/Guide/Predefined_Core_Objects#Array_Object) tam i jak przekonwertować typ danych JavaScript do JSON jest tutaj: http://stackoverflow.com/questions/4162749/convert-js-object-to-json-string. –

+0

To już jest tablica JSON w JavaScript. –

+2

@ mustafa.0x: Nie, nie jest. Jest to tablica * JavaScript * w JavaScript. –

Odpowiedz

12

Cóż, masz dwie opcje:

  1. utworzyć tablicę, a następnie stringify go:

    var categories = [ 
          'Jan', 
          'Feb', 
          'Mar', 
          'Apr', 
          'May', 
          'Jun', 
          'Jul', 
          'Aug', 
          'Sep', 
          'Oct', 
          'Nov', 
          'Dec' 
         ]; 
    var json = JSON.stringify(categories); 
    

    JSON.stringify istnieje w większości nowoczesnych przeglądarek, i można go pasowana. (Istnieje kilka podkładek dostępne, nie tylko od Crockford's github page - Crockforda jest osoba, która definiuje JSON).

  2. Albo po prostu utworzyć ciąg JSON bezpośrednio:

    var json = '["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]'; 
    

Re swoje edit: To już nie jest "tablica", jest to obiekt z tablicą w nim (lub obiektem z obiektem w nim z tablicą w , który to jest). To nie fundmentally zmienić odpowiedź, choć:

var xAxis = { categories: [ 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec' ] }; 
var json = JSON.stringify(xAxis); 

lub

var json = '{"categories": ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]}'; 

nie byłem pewien, czy chciał warstwę xAxis tam. Jeśli tak, to po prostu kolejna warstwa wokół powyższego, np .:

var obj = { xAxis: { categories: [ 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec' ] } }; 
var json = JSON.stringify(obj); 

lub

var json = '{"xAxis": {"categories": ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]}}'; 

Więcej o JSON na the JSON home page. Zasadniczo wszystkie ciągi muszą być podwójne (nie pojedyncze), a wszystkie nazwy właściwości muszą być w podwójnych cudzysłowach.

Powiązane problemy