-3

Helo all im 将类似 JSON 的数据格式设置为 ne 由名为 fusioncharts 的 JS 库使用。

底部是一个名为“数据”的部分,其中第二个对象发生错误: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' />"});
}

只是为了澄清,这是不使用 push 方法的样子:

   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 回答