我在 .NET Core 3.1 上有一个 ASP.NET Web API,使用 Microsoft.AspNetCore.OData 包来实现多个 OData 控制器。其中一个模型有一个用于保存 HTML 的字符串字段,我在请求正文中将模型用于 OData 端点之一。因为字符串内容是 HTML,它必须包含我在 JSON 正文中转义的双引号。但是,当请求正文转换为模型时,它不会识别字符串已经转义,实际上是转义了转义字符。该问题在此处的 GitHub 存储库中重现。
模型:
public class Model
{
public int Id { get; set; }
public string Html { get; set; }
}
请求正文:
{
"html": "<div class=\"test\"><\/div>"
}
预期的
Html == "<div class=\"test\"></div>"
实际的
Html == "<div class=\\\"test\\\"></div>"
为什么会这样,我该如何解决?