首页 > 解决方案 > 当箭头中的 3 个斜杠出现在 JSON 代码中时,Html Agility Pack (HAP) 出现问题

问题描述

我有一个 JSON 对象,其中包含用于显示富文本的 HTML。我发现的问题是,当一行中有三个斜杠(“///”)时,HAP 以不再有效的 JSON 方式对其进行解码。

例如 - C# 代码

 var jsonText = $"{{\"htmlAddress\": \"<a href =\\\"www.stackoverflow.com\">stackoverflow}}";
 var doc2 = new HtmlDocument();
 doc2.LoadHtml(jsonText);

结果是

OuterHtml = "<a href=\"\\&quot;www.stackoverflow.com&quot;\">stackoverflow</a>"

上面的 JSON 源代码乍一看可能很有趣,但我相信它是正确的,因为我们必须用斜杠转义所有引号。3个斜线中的第一个转义需要保留的实际斜线,第三个是转义引号。

当此代码在 javascript 中通过 JSON.parse() 运行时,它会失败。对此的任何建议将不胜感激。

标签: jsonhtml-agility-pack

解决方案


推荐阅读