5

一个相当直接的问题。我有以下代码

var json = new JavaScriptSerializer();
var test = json.Serialize("'");

现在,Visual Studio 局部变量 watch 显示test包含一个字符串 value "\"\\u0027\""。是否有可能,使用 ASP.NET 中的构建来返回没有格式的Serialize();序列化字符串?\0027

期望的结果test"\"\'\""

谢谢!

4

3 回答 3

0

正如评论者所提到的,这真的无关紧要,因为\u0027字面意思是 Javascript 中的单引号。

但是,如果这让您感到困扰,您可能想尝试使用 JSON.NET,它会在编码字符串中保留单引号。

于 2013-04-16T23:24:37.047 回答
0

尝试以下

var json = JsonConvert.SerializeObject(obj);

于 2016-11-08T20:31:58.330 回答
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);
}
于 2018-11-21T21:17:20.290 回答