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

时间:2013-03-12 08:34:22

标签: javascript json

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

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

1 个答案:

答案 0 :(得分:12)

嗯,你有两个选择:

  1. 创建数组,然后将其字符串化:

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

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

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

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

  3. 重新编辑:这不再是“数组”了,它是一个带有数组的对象(或者一个对象,其中包含中的数组)。但是,它没有在基础上改变答案:

    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"]}}';
    

    有关the JSON home page的JSON的更多信息。从根本上说,所有字符串必须是双引号(非单引号),并且所有属性名称必须是双引号。