0

以下のコード行に従って、(既存の JSON オブジェクト $yAxis から) JQuery を使用して JSON 配列を作成しようとしています。

abc.yAxis = [   
    $.each($yAxis, function(i, obj){
        var $metric= obj.title.text;
        var $oppositeAxis=obj.title.opposite;
        { title: {
            style: {
                font: 'xyz',
                color: 'black'
            },
            text:'$metric'.substring(0,30),
        }, 
        opposite: $oppositeAxis
    },              
}); 
];

FireBug は常に以下のエラーを表示します。

[SyntaxError: invalid label
[at]
color: 'black']

私の既存の JSON オブジェクト ($yAxis) は次のとおりです。

{
"yaxis": "[{'title':{'text':'A'},'opposite':false},{'title':{'text':'B'},'opposite':true},    {'title':{'text':'C'},'opposite':false}]"
}

この新しい JSON を入力として highCharts に送信します。

4

1 に答える 1

0

配列を定義するときabc.yAxis = [...];、Javascript は値のリスト、または配列の内容を形成する名前と値のペアを見つけることを期待しています。

$.each($yAxis, function(i, obj){ ... }); // semi colon is invalid here (Thanks @FelixKling)

本当に有効なラベルではありません-これがエラーの原因です..

次のようにする必要があります。

abc.yAxis = []; // define the array, you can also use "new Array()"

$.each($yAxis, function(i, obj){ // for each $yAxis
    var $metric= obj.title.text;
    var $oppositeAxis=obj.title.opposite;

    // Now we push the wanted object into the array
    abc.yAxis.push({ title: { 
        style: {
            font: 'xyz',
            color: 'black'
        },
        text:'$metric'.substring(0,30),
    }, 
        opposite: $oppositeAxis
    });              
});

これにより、オブジェクトの配列が作成されることに注意してください。あなたが達成しようとしたことを願っています..

オブジェクトについてはこちらで、Array.push() についてはこちらで読むことができます。

于 2013-07-09T22:59:38.963 に答える