gpt4 book ai didi

asp.net-mvc - 转义 JSON 编码字符串中的特殊字符

转载 作者:行者123 更新时间:2023-12-03 04:02:30 25 4
gpt4 key购买 nike

我将 Knockout 与 MVC 结合使用,我所见过的获取 Knockout View 模型的标准方法如下:

var model = '@Html.Raw(Json.Encode(Model))';
var viewModel = ko.mapping.fromJSON(model);

但是如果我的模型具有包含特殊字符的字符串属性,例如'\r\n' 我收到 JSON 解析错误“意外的 token ”。

所以我相信我需要转义这些字符,这样它们就像“\\r\\n”。如何做到这一点?

我知道我可以针对这种特殊情况执行此操作:

var model = '@Html.Raw(Json.Encode(Model).Replace(@"\", @"\\"))';

但可能还有其他...制表符、单引号。

下面是浏览器中实际渲染模型的示例:

var model = '{"Id":4465,"TextContents":["EYE FILLET STEAK\r\nLINE 2 IS HERE"]}';

最佳答案

您的模型是一个字符串,而不是JSON。它在 JSON 解析之前评估转义字符(如果有的话?)为什么需要报价?只需删除它们即可。

var model = @Html.Raw(Json.Encode(Model));

关于asp.net-mvc - 转义 JSON 编码字符串中的特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18626460/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com