【发布时间】:2020-09-04 23:38:44
【问题描述】:
我有一个带双引号的 JSON 字符串。我需要将字符串进一步发送到另一个应用程序。为了让另一个应用程序读取它,我需要转义双引号。为此,我尝试使用Replace() 方法,但在控制台中它以任何方式打印没有反斜杠字符的字符串。我究竟做错了什么?
这是我的代码:
class Program
{
static void Main(string[] args)
{
var jobObj = new Source
{
url = "http://localhost",
name = "YourName",
age = 54,
username = "Admin",
password = "Password",
};
var json = JsonConvert.SerializeObject(jobObj);
string jsonstring = json.Replace(@"\""", @"""");
Console.WriteLine(jsonstring);
Console.ReadKey();
}
public class Source
{
public string url { get; set; }
public string name { get; set; }
public int age { get; set; }
public string username { get; set; }
public string password { get; set; }
}
}
【问题讨论】:
-
如果你转义双引号,它就不再是 JSON。
-
想清楚一点。原文中出现的应该替换的文本是什么?您应该用 替换它的文本是什么?因此,
.Replace的参数按什么顺序排列? (如果这没有意义,请查看文档。)