gpt4 book ai didi

c# - 序列化动态对象时删除转义字符

转载 作者:行者123 更新时间:2023-11-30 19:36:05 28 4
gpt4 key购买 nike

这个问题可能重复了,但是我没有找到满意的答案,所以才提出这个问题。

我正在研究动态对象的序列化。当我序列化动态对象时,API 将响应返回为

"{\"firstname\":\"prasanthi\",\"lastname\":\"kota\"}"

我不想使用 string.ReplaceRegexPattern。还有其他方法吗?

我试过 JavaScriptSerializer,但它添加了带有转义标记的引号 (\")。这是我的代码:

    dynamic d = new ExpandoObject();
d.firstname = "prasanthi";
d.lastname = "kota";

string serialized_info = JsonConvert.SerializeObject(d);

更新:

我在代码的另一部分使用了 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}"

我认为这不是我问题的答案。除了string.replace

,你能建议我用其他方式做吗

最佳答案

这里没有问题。 \ 仅作为调试辅助工具出现在 IDE 中 - 以与您在 C# 中编写字符串相同的方式直观地表示字符串。它实际上不包含转义字符。如果您使用:

Console.Write(serialized_info);

或:

File.WriteAllText(path, serialized_info);

然后您将看到正常的正确 JSON。 C# 字符串文字:

"{\"firstname\":\"prasanthi\",\"lastname\":\"kota\"}"

正是包含内容的字符串:

{"firstname":"prasanthi","lastname":"kota"}

关于c# - 序列化动态对象时删除转义字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48063989/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com