一个相当直截了当的问题。我有以下代码
var json = new JavaScriptSerializer();
var test = json.Serialize("'");
现在,Visual Studio本地变量监视显示test
包含值"\"\\u0027\""
的字符串。是否有可能使用ASP.NET中的内置使Serialize();
返回没有\0027
格式的序列化字符串?
test
的预期结果为"\"\'\""
谢谢!
答案 0 :(得分:0)
尝试以下
var json = JsonConvert.SerializeObject(obj);
答案 1 :(得分:0)
序列化后,您必须使用此表达式替换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);
}
答案 2 :(得分:-1)
正如评论者所提到的,这真的无关紧要,因为\u0027
字面上代表了Javascript中的单引号。
但是,如果这让您感到困扰,您可能想尝试使用JSON.NET,它会在编码字符串中保留单引号。