C# Newtonsoft.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

我正在使用NewtonSoft.JSON将对象数据保存为JSON

此库是否转义所有可能的非法字符,或者在尝试序列化之前是否应转义这些字符

例如

如果我有一个站点对象:

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解析器用于,