这个问题可能是重复的,但是我没有找到满意的答案,所以这就是为什么我提出这个问题。
我正在研究动态对象的序列化。当我序列化动态对象时,API将响应返回为
"{\"firstname\":\"prasanthi\",\"lastname\":\"kota\"}"
Run Code Online (Sandbox Code Playgroud)
我不想使用string.Replace或RegexPattern。还有其他方法吗?
我已经尝试过JavaScriptSerializer,但是它在引号中加上了转义符(\")。这是我的代码:
dynamic d = new ExpandoObject();
d.firstname = "prasanthi";
d.lastname = "kota";
string serialized_info = JsonConvert.SerializeObject(d);
Run Code Online (Sandbox Code Playgroud)
更新:
我在代码的另一部分中使用了serialized_info,我不想在那儿加斜杠。因此,我想先删除斜线。
我累了评论中提到的
dynamic x = new { firstname = "prasanthi", lastname = "kota" }; var serialized_info = JsonConvert.SerializeObject(x,Formatting.Indented);
这正在显示
"{\r\n \"firstname\": \"prasanthi\",\r\n \"lastname\": \"kota\"\r\n}"
Run Code Online (Sandbox Code Playgroud)
我认为这不是我的问题的答案。除了string.replace以外,您还能以其他任何方式建议我吗
这里没有问题。该\只出现在IDE辅助调试-视觉上表示以同样的方式,你将它写入字符串在C#中。它并不真正包含转义字符。如果您使用:
Console.Write(serialized_info);
Run Code Online (Sandbox Code Playgroud)
要么:
File.WriteAllText(path, serialized_info);
Run Code Online (Sandbox Code Playgroud)
那么您将看到正常的正确JSON。C#字符串文字:
"{\"firstname\":\"prasanthi\",\"lastname\":\"kota\"}"
Run Code Online (Sandbox Code Playgroud)
正是包含内容的字符串:
{"firstname":"prasanthi","lastname":"kota"}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2840 次 |
| 最近记录: |