【发布时间】:2013-11-02 00:13:00
【问题描述】:
我是一名 C# 开发人员,也是一名 Javascript 新手。 我有一个 C# 对象,最后,在 index.cshtml 中,我可以通过调用 Json.Encode(obj)
从该对象转换而来的字符串字符串是:
[
{
"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# 中,所有对象都必须有其成员名称。我能想到的只是字符串操作。有没有更好的方法?
【问题讨论】:
-
理想情况下,如果我能获得没有 Key Name 的 javascipt 对象会更好。例如,[[CASE_A, [[99.8,99.9,99.9,99.8,99.8,96.3,22.3], ...]
-
这应该在您序列化之前完成。
-
我实际上并没有弄清楚这个错误,因为另一个错误:“Uncaught SyntaxError: Unexpected token o”。但是我没有使用 json 对象,而是使用了 javascript 对象并使用了“data= eval(@Html.Raw(TheString))”。成功了。
标签: c# javascript asp.net-mvc json razor