-3

こんにちは、JSON のようなデータ形式を、fusioncharts と呼ばれる JS ライブラリで使用される ne に設定しています。

下部には「データ」というセクションがあり、2 番目のオブジェクトでエラーが発生しています。totalFundedValue

ここに私のレンダリングされた HTML のスニペットがあります:

var totalFunded =  '109321734.06';

var totalFundedValue;
var totalFundedLabel;
var totalFundedText;


if (totalFunded != null)  
{
totalFundedLabel.push({ "label": "Funded",});
totalFundedValue.push({"value": "109321734.06"});
 totalFundedText.push({"toolText": "$109,321,734.06"});
}


"data":[{
    totalFundedLabel
    totalFundedValue
    totalFundedText
  }
]

JS:

var totalFunded =  '${totalFunded}';

var totalFundedValue;
var totalFundedLabel;
var totalFundedText;


if (totalFunded != null)  
{
totalFundedLabel.push({ "label": "Funded",});
totalFundedValue.push({"value": <tld-msst:fc-value var="${totalFunded}"/>,});
totalFundedText.push({"toolText": "<fmt:formatNumber value='${totalFunded}' type='currency' groupingUsed='true' />"});
}

明確にするために、プッシュ メソッドを使用しない場合は次のようになります。

   data: [{
    "label":"Funded",
    "value":"${totalFunded}",
    "toolText": "<fmt:formatNumber value='${totalFunded}' type='currency' groupingUsed='true' />"
  },
4

3 に答える 3

3

これを変える:

totalFundedLabel.push({ "label": "Funded",});

に:

totalFundedLabel.push({ "label": "Funded"});

末尾のコンマを削除します。

于 2013-01-22T15:14:24.623 に答える
1

誰もが「コンマ」の問題に対処したようです。他にも次のような問題があります。

  1. 空の変数にプッシュするだけでは、未定義がスローされます。のように宣言する必要がありますvar totalFundedLabel = [];。これはおそらく、push

昔ながらのオブジェクト リテラルの使用を検討したことはありますか?

var totalObj = {};

var totalFunded = '109321734.06';

if (totalFunded != null) {

totalObj.label = "Funded";
totalObj.value = "109321734.06";

totalObj.toolText = "$109,321,734.06";

}

console.log('{"data": [' + JSON.stringify(totalObj) + ']}');

// outputs this: {"data": [{"label":"Funded","value":"109321734.06","toolText":"$109,321,734.06"}]}

これは私にとってはうまく機能し、要求された文字列を構築します。ここで遊ぶ JS Fiddle は次のとおりです: http://jsfiddle.net/98XXN/1/

これは役に立ちますか?

于 2013-01-22T15:45:35.377 に答える
-1

「データ」は内部にオブジェクトを含む配列であり、オブジェクトは常にポインターと値を期待するため、このエラーは引き続き発生します。

"data":[{
    totalFundedLabel
    totalFundedValue
    totalFundedText
  }
]

そして、あなたが本当にやりたいことは次のとおりです。

"data":[{
    totalFundedLabel: 'value1',
    totalFundedValue: 'value2',
    totalFundedText: 'value3'
  }
]

これがお役に立てば幸いです!

于 2013-01-22T16:10:22.903 に答える