我是一个对象:
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以正确的方式对其进行序列化?
答案 0 :(得分:10)
你不应该再次解析字符串,因为已经将它序列化为JSON,你可以直接在Javascript中使用它(JSON中的JS)。
var myJson = @Html.Raw(JsonConvert.Serialize(Model.MyTest));
将输出:
var myJson = {"Prop1":"\"Quoted text\""};