一个相当直接的问题。我有以下代码
var json = new JavaScriptSerializer();
var test = json.Serialize("'");
现在,Visual Studio 局部变量 watch 显示test
包含一个字符串 value "\"\\u0027\""
。是否有可能,使用 ASP.NET 中的构建来返回没有格式的Serialize();
序列化字符串?\0027
期望的结果test
是"\"\'\""
谢谢!
一个相当直接的问题。我有以下代码
var json = new JavaScriptSerializer();
var test = json.Serialize("'");
现在,Visual Studio 局部变量 watch 显示test
包含一个字符串 value "\"\\u0027\""
。是否有可能,使用 ASP.NET 中的构建来返回没有格式的Serialize();
序列化字符串?\0027
期望的结果test
是"\"\'\""
谢谢!
正如评论者所提到的,这真的无关紧要,因为\u0027
字面意思是 Javascript 中的单引号。
但是,如果这让您感到困扰,您可能想尝试使用 JSON.NET,它会在编码字符串中保留单引号。
尝试以下
var json = JsonConvert.SerializeObject(obj);
序列化后,您必须使用此表达式替换您的 JSON 字符串。这是我的代码示例以及我在提供 json 输出时使用的函数。
string json = obj.ToJSON();
json = System.Text.RegularExpressions.Regex.Unescape(json);
File.WriteAllText("<DirectoryFile>.json", json);
public static string ToJSON(this object obj)
{
var serializer = new JavaScriptSerializer();
serializer.MaxJsonLength = Int32.MaxValue;
JavaScriptSerializer js = new JavaScriptSerializer();
return js.Serialize(obj);
}