如何使用JSON.NET将'
编码为\u0027
?如何在JSON.NET中对单引号/撇号进行编码
使JSON字符串会是这个样子:
{"Id":8,"CompanyName":"Jane\u0027s bakery"}
如何使用JSON.NET将'
编码为\u0027
?如何在JSON.NET中对单引号/撇号进行编码
使JSON字符串会是这个样子:
{"Id":8,"CompanyName":"Jane\u0027s bakery"}
Json.NET 4.5发行11增加了一个选项来控制串逃逸。其中一个选项是转义所有包含单引号的HTML字符。
样品呼叫
Newtonsoft.Json.JsonConvert.SerializeObject(your_object,
Newtonsoft.Json.Formatting.None,
new Newtonsoft.Json.JsonSerializerSettings
{ StringEscapeHandling = Newtonsoft.Json.StringEscapeHandling.EscapeHtml })
是否可以使用单引号进行编码?像这样'{'Id':8,'CompanyName':'Jane \ u0027s bakery'}'? – Serge
我以为我有同样的要求,但@ nick_w的评论使我意识到,我并不需要在所有的逃避单引号。
如果你生成json作为服务器端代码中的字符串,然后输出到客户端的JavaScript,所以它可以转换为JavaScript对象,然后转义是不需要的。
使用需要逃逸单引号额外的步骤
(采用asp风格语法中的代码)...
var myData = JSON.parse('<%=myServerGeneratedStringWithSingleQuotesEscaped %>');
使用JSON,因为它是...
var myData = <%=myServerGeneratedString %>;
的Javascript将解释不引号的字符串,如
[{“name”:“Bill”},{“name”:“Ted”}]
as javascript objects。
因为在处理服务器端和客户端字符串时很容易混淆,所以此提醒可能对某人有用。它可能会或可能不适用于OP - 我确信有很多情况下单引号真正需要转义。
感谢您的提示。但是,如果'myServerGeneratedString'为空,并且您放弃了单配额,则会出现无法处理的JavaScript语法错误。如果保留单配额并且'myServerGeneratedString'为空,则不会有比可以检查的空字符串更多的损害。这就是为什么我保持他们,即使它不知何故是丑陋的。 –
为什么你需要用这种方式编码撇号? “{”Id“:8,”CompanyName“:”Jane's bakery“}'是有效的JSON。 –
JjQuery的parseJSON失败,因为撇号异常.. – CoffeeCode
我明白了。您的前端代码如何获得JSON? –