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

Jet*_*ohn 6 javascript json

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

xAxis: {
    categories: [
        'Jan',
        'Feb',
        'Mar',
        'Apr',
        'May',
        'Jun',
        'Jul',
        'Aug',
        'Sep',
        'Oct',
        'Nov',
        'Dec'
    ]
}
Run Code Online (Sandbox Code Playgroud)

T.J*_*der 12

嗯,你有两个选择:

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

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

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

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

    var json = '["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]';
    
    Run Code Online (Sandbox Code Playgroud)

回复您的编辑:这不是"数组"了,这是在一个数组(或在它的对象与数组中的对象的对象).但它并没有根本改变答案:

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

要么

var json = '{"categories": ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]}';
Run Code Online (Sandbox Code Playgroud)

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

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

要么

var json = '{"xAxis": {"categories": ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]}}';
Run Code Online (Sandbox Code Playgroud)

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