我知道这个问题已被问过无数次,但我真的不明白。JSON到JavaScript,SyntaxError:意外的令牌&
我在MVC中创建一个站点,并且从我的模型创建一个JSON字符串。然后,我想将它作为参数传递给使用它来绘制图形的JavaScript函数。
这里是我创建JSON字符串。这确实创建了一个有效的JSON字符串,我在JSONLint处进行了检查。
@{
var serializer = new System.Web.Script.Serialization.JavaScriptSerializer();
var weightsAsJsonString = serializer.Serialize(Enumerable.Select(Model, weight =>
new
{
date = weight.Date,
value = weight.Value
}));
}
再往下我从中创建一个JavaScript变量,并传递到JavaScript函数:
var jsonStringToGraph = @weightsAsJsonString;
google.setOnLoadCallback(drawVisualization(jsonstring));
当运行此,控制台打印“的SyntaxError:意外令牌&”在该行是我声明jsonStringToGraph
。我搜索了一下,得出结论说我应该在@weightsAsJsonString
附近放置,所以我这样做。
不管怎样,在我的drawVisualization,我这样做:
function drawVisualization(teststring) {
.......
var parsedJson = JSON.parse(teststring);
这给了我SyntaxError: Unexpected token & Index:1
我知道,在底部的代码是什么原因造成的例外,但我不明白为什么。有谁明白我做错了什么?
编辑:这是weightsAsJsonString
[{"date":"\/Date(1434492000000)\/","value":100.2},{"date":"\/Date(1434578400000)\/","value":99.2},{"date":"\/Date(1434664800000)\/","value":101.2},{"date":"\/Date(1434751200000)\/","value":98.2},{"date":"\/Date(1434837600000)\/","value":97.2},{"date":"\/Date(1434924000000)\/","value":96.2},{"date":"\/Date(1435010400000)\/","value":95.2},{"date":"\/Date(1435096800000)\/","value":94.2}]
你能提供一个'jsonStringToGraph'的样子吗?为了弄清楚什么是错误的,我必须实际看到语法。 –
我不能在那里设置断点,但我添加了它从 – hellogoodnight