如何使用JSON.NET将'
编码为\u0027
?
这样json字符串看起来像这样:
{"Id":8,"CompanyName":"Jane\u0027s bakery"}
答案 0 :(得分:19)
示例通话
Newtonsoft.Json.JsonConvert.SerializeObject(your_object,
Newtonsoft.Json.Formatting.None,
new Newtonsoft.Json.JsonSerializerSettings
{ StringEscapeHandling = Newtonsoft.Json.StringEscapeHandling.EscapeHtml })
答案 1 :(得分:7)
Json.NET 4.5 Release 11增加了一个控制字符串转义的选项。其中一个选项是转义包含单引号的所有HTML字符。
答案 2 :(得分:2)
我认为我有同样的要求,但@ nick_w的评论让我意识到我根本不需要逃避单引号。
如果您在服务器端代码中生成json作为字符串,然后将其输出到客户端javascript,那么它可以转换为javascript对象,然后不需要转义。
(使用asp样式语法显示的代码)
使用需要转义单引号的额外步骤......
var myData = JSON.parse('<%=myServerGeneratedStringWithSingleQuotesEscaped %>');
原样使用JSON ......
var myData = <%=myServerGeneratedString %>;
Javascript将解释不带引号的字符串,例如
[{“name”:“Bill”},{“name”:“Ted”}]
作为javascript对象。
由于在处理服务器端和客户端字符串时很容易混淆,这个提醒可能对某人有用。它可能适用于也可能不适用于OP - 我确信有很多情况下单引号真的需要转义。
答案 3 :(得分:0)
Newtonsoft.Json.JsonConvert.SerializeObject(your_object,
Newtonsoft.Json.Formatting.None,
new Newtonsoft.Json.JsonSerializerSettings
{ StringEscapeHandling = Newtonsoft.Json.StringEscapeHandling.EscapeHtml })
。