6

如何使用 javascript 创建以下类型的 json 数组?

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

1 回答 1

12

好吧,你有两个选择:

  1. 创建数组,然后对其进行字符串化:

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

    JSON.stringify存在于大多数现代浏览器中,您可以对其进行填充。(有几个可用的垫片,尤其是来自Crockford 的 github 页面——Crockford 是定义 JSON 的人。)

  2. 或者直接创建 JSON 字符串:

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

重新编辑:这不再是“数组”,它是一个包含数组的对象(或一个包含对象的对象,其中包含一个数组。但是,它并没有从根本上改变答案:

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

或者

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

我不确定你是否想要xAxis那里的图层。如果是这样,它只是上面的另一层,例如:

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

或者

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

JSON 主页上有关 JSON 的更多信息。从根本上说,所有字符串都必须用双引号(而不是单引号),并且所有属性名称都必须用双引号。

于 2013-03-12T08:38:51.867 回答