.NET Core 对象 JSON 序列化为 Javascript 格式

Tan*_*uyB 4 javascript c# json json.net asp.net-core

我在将 C# 对象序列化为纯 JSON 字符串时遇到了一些问题。

我使用 JsonConvert(Newtonsoft 的)将模型格式化为 JSON。问题是在某些 Javascript 中使用了 JSON 字符串 get,但格式并不好,因为在引号中被写为 ""e;" 而不是 "'"。关于如何解决这个问题有任何想法吗?

//...
@{
    var dataJson = JsonConvert.SerializeObject(Model);
}
//...

<script>
    function ChangeGroup(type) {
        $.ajax({
            url: //...,
            data: @dataJson
        });
    }
</script>
Run Code Online (Sandbox Code Playgroud)

我得到的是这样的:

错误

我忘记设置一些格式选项?

SO *_*ood 5

ASP.NET Core 中有一个更短、更易于使用和记住的内容:

@Json.Serialize(Model);
Run Code Online (Sandbox Code Playgroud)

当分配给 JavaScript 值时,生成的 JavaScript 是有效的:

<script>
    var model = @Json.Serialize(model);
</script>
Run Code Online (Sandbox Code Playgroud)

有了这个,您就不必担心对字符进行 HTML 转义。