【发布时间】:2014-08-28 09:42:56
【问题描述】:
以下是我以某种方式生成的 JSON 数据:
[
{
id: "1926d769-319b-41ec-8bba-deabbcc44992",
start: "2014-09-02T11:00:00",
end: "2014-09-02T12:00:00",
title: ""ATR" Recieved by Lender - First",
body: ""ATR" Recieved by Lender - First",
color: "",
editable: false,
officeEvent: false,
allDay: false
},
{
id: "37e65cc0-a44a-460d-acc6-f8847fcdc384",
start: "2014-08-04T12:00:00",
end: "2014-08-04T13:00:00",
title: "Sign Disclosures",
body: "Sign Disclosures",
color: "",
editable: false,
officeEvent: false,
allDay: false
}
]
第一项title和body包含双引号(""),这样JSON数据显示错误。现在我怎样才能同时从整个 JSON 数据中转义这个引用,如下所示。
title: "\"ATR\" Received by Lender - First"
如何在 Asp.Net C# 中实现这一点?
【问题讨论】:
-
JSON 最初是如何生成的?是您创建的,还是来自第三方?
-
@Brian Rogers,是的,它来自第三方。我在 foreach 循环中使用 title.replace("\"", "\\\"") 转义标题和正文。但是没有foreach有什么捷径吗?
-
如果来自第三方,您应该联系他们并让他们知道他们正在创建无效的 JSON 并请求他们修复它。根据规范,必须对 JSON 字符串中的引号进行转义(参见 JSON.org)。如果没有办法做到这一点,那么你几乎只能做你现在正在做的事情来解决它。如果 JSON 无效,标准 JSON 解析器将给出错误,如本例所示。