读取Json序列化值时的Javascript运行时异常

时间:2016-11-07 19:52:28

标签: javascript c# json razor

我目前在将类型字符串的c#列表转换为Json对象时遇到困难。当我以后在javascript中读取这个Json对象时,我的问题就出现了。我使用类型int的c#列表执行相同的过程,语法似乎没问题。以下是一些代码段:

Razor序列化:

var data = JsonConvert.SerializeObject(Model.reject_count);
var label = JsonConvert.SerializeObject(Model.messages);

使用Javascript:

 var data = @data;
 var ls = @labels;

附件是动态调试器值的图像:

enter image description here 我还试图更改我的序列化设置。这是片段:

var jsonSerializer = new JsonSerializerSettings();
jsonSerializer.StringEscapeHandling = StringEscapeHandling.EscapeNonAscii;
var labels = JsonConvert.SerializeObject(Model.messages, formatting: Formatting.Indented, settings: jsonSerializer);

将c#字符串列表序列化为Json对象时,是否有其他选项可以在Javascript中稍后读取?或者有什么我可以修改以使其正常工作吗?

1 个答案:

答案 0 :(得分:1)

当您在剃刀中写var ls = @labels;时,labels以HTML编码,每""替换为您的javascript代码。

如果您希望在没有任何转换的情况下使用字符串输出,请使用@Html.Raw(...)

 var data = @Html.Raw(data);
 var ls = @Html.Raw(labels);