繁体   English   中英

转义Newtonsoft JSON中的引号

[英]Escaping quotes in Newtonsoft JSON

我有一个对象:

public class Test 
{
    public string Prop1 { get; set; }
}

我想在视图中将它序列化为json,所以在我的cshtml中:

<script type="text/javascript">
   var myJson = JSON.parse('@Html.Raw(JsonConvert.Serialize(Model.MyTest))');
</script>

它工作,直到Prop1包含引号,因为它呈现为:

var myJson = JSON.parse('{"Prop1":"\"Quoted text\""}');

不幸的是,这样的行抛出了解析错误。 我知道它应该是:

 var myJson = JSON.parse('{"Prop1":"\\"Quoted text\\""}');

如何配置Newtonsoft以正确的方式序列化它?

您不应该再次解析字符串,因为已经将其序列化为JSON,您可以直接在Javascript(JSON中的JS)中使用它。

var myJson = @Html.Raw(JsonConvert.Serialize(Model.MyTest));

将输出:

var myJson = {"Prop1":"\"Quoted text\""};

而且, 因为你总是需要一个JSFiddle来证明它的工作原理。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM