我是一名C#开发者,对Javascript还是新手。
我有一个C#对象,在index.cshtml文件中通过调用Json.Encode(obj)可以将该对象转换为字符串。
该字符串为:
然而,当我调用JSON.parse(@TheString)时,我得到了以下结果:
这个错误的位置告诉了我这个问题的所在:
该字符串为:
[
{
"Name":"CASE_A",
"Values":[99.8,99.9,99.9,99.8,99.8,96.3,22.3]
},
{
"Name":"CASE_B",
"Values":[99.8,99.8,99.8,96.3,22.3]
},
]
然而,当我调用JSON.parse(@TheString)时,我得到了以下结果:
Uncaught SyntaxError: Unexpected token &
这个错误的位置告诉了我这个问题的所在:
data = JSON.parse([{"Name":"CASE_A","Values":[99.8,99.9,99.9,99.8 ....
我该如何解决这个问题?
谢谢你们的答复!但是我仍然遇到了一个错误:
Uncaught SyntaxError: Unexpected token o
为了进行简单的测试,我使用了以下代码:
@{
string tmp = "[{\"Name\":\"CASE_A\",\"Values\":[99.8,99.9,98.6]},{\"Name\":\"CASE_B\",\"Values\":[96.7,11.1]}]";
}
var data1 = JSON.parse(@Html.Raw(@tmp));
源代码显示了这一行:
var data1 = JSON.parse([{"Name":"CASE_A","Values":[99.8,99.9,98.6]},{"Name":"CASE_B","Values":[96.7,11.1]}]);
我这里看不到任何“o”字。
此外,对于创建JavaScript对象,Travis建议在序列化之前删除键名。但在C#中,所有对象都必须有其成员名称。我能想到的唯一方法是字符串操作。有更好的方法吗?