C# Newtonsoft.Json是否对所有字符进行转义?
我正在使用NewtonSoft.JSON将对象数据保存为JSON 此库是否转义所有可能的非法字符,或者在尝试序列化之前是否应转义这些字符 例如 如果我有一个站点对象:C# Newtonsoft.Json是否对所有字符进行转义?,c#,json,json.net,C#,Json,Json.net,我正在使用NewtonSoft.JSON将对象数据保存为JSON 此库是否转义所有可能的非法字符,或者在尝试序列化之前是否应转义这些字符 例如 如果我有一个站点对象: public class Site { public string SiteName { get; set; } } ... ... var site = new Site(); site.SiteName = "$$ what could I/Put 'here' %$%^*^(&*& to
public class Site
{
public string SiteName { get; set; }
}
...
...
var site = new Site();
site.SiteName = "$$ what could I/Put 'here' %$%^*^(&*& to break this?";
var outputJson = JsonConvert.SerializeObject(site);
我是否可以通过向SerializeObject()
方法添加未替换的非法字符来破坏该方法,或者NewtonSoft.Json可以为我这样做
此库是否转义所有可能的非法字符,或者在尝试序列化之前是否应转义这些字符
如果它声称序列化为JSON,并且没有正确处理,那么它将是一个相当垃圾的库
此外,如果您在将数据提供给库之前“转义”这些字符,那么库将转义,并且您将不会得到想要的结果。例如,假设我认为它不会处理转义formfeed(
\f
)字符,所以我这样做是为了“转义”它们:mydata=mydata.replace(/\f/g,“\\f”)
现在,mydata
不再有表单提要,它有一个反斜杠,后跟字母f
。如果您将其编码为JSON,然后对其进行解码,它将是一个反斜杠,后跟字母f
,而不是一个表单提要。您不需要做任何特殊的事情。。这就是JSON解析器用于,