【发布时间】:2021-03-24 11:36:21
【问题描述】:
我想向我的对象添加一个新属性。但是它在双引号中添加了属性,并且对象无法很好地初始化。 这是我在 JSFiddle 中的代码。
提前感谢您的任何建议。
var chart;
function myFunction(incoming_data) {
var lcl = JSON.parse(JSON.stringify(incoming_data));
var headertxt = lcl.title_dynamic;
console.log(headertxt);
var chartCfg = {
zoomEnabled: true,
axisX: {
title: "chart updates every 2 secs",
crosshair: {
enabled: true,
snapToDataPoint: true
}
},
axisY: {
crosshair: {
enabled: true,
snapToDataPoint: true,
valueFormatString: "#,##0"
}
},
toolTip: {
shared: true
},
legend: {
dockInsidePlotArea: true,
verticalAlign: "top",
horizontalAlign: "right"
}
};
chart = new CanvasJS.Chart("chart-container", chartCfg);
chart.options.title = headertxt;
console.log(chart.options);
chart.render();
}
var json_val = {"title_dynamic":"{text:\"Header Tay\"}"};
myFunction(json_val);
<div id="chart-container" style="height: 300px; width: 100%;">
</div>
<div style="margin-top:16px;color:dimgrey;font-size:9px;font-family: Verdana, Arial, Helvetica, sans-serif;text-decoration:none;"></div>
<script type="text/javascript" src="https://canvasjs.com/assets/script/jquery-1.11.1.min.js"></script>
<script type="text/javascript" src="https://canvasjs.com/assets/script/canvasjs.stock.min.js"></script>
编辑:我附上了代码 sn-p。
【问题讨论】:
-
请点击编辑,然后
[<>]sn-p编辑并提供minimal reproducible example -
headertxtis 文本,正如变量名所暗示的那样。你需要:JSON.parse(headertxt)。 -
@VLAZ 当我按照您的建议使用
Uncaught SyntaxError: Unexpected token t in JSON at position 1时出现以下错误@ -
啊,对,它不是 JSON,只是一个奇怪的JS对象的文本版本,出于某种原因。最简单的直接修复方法是
eval,但我强烈建议,您更改生成该数据的任何内容以生成有效的 JSON。 -
@VLAZ 我使用 CanvasJS 对象。所以,这就是它的对象。我正在通过控制器传递
headertext。我还将通过控制器传递data。根据选定的参数,它们必须是动态的。
标签: javascript properties canvasjs