【发布时间】:2021-03-23 23:43:26
【问题描述】:
我有一个 C# 后端代码,它从 TypeScript 中的客户端代码接收 POST 请求。
使用 JSON.stringify(objectOfData); 为 POST 完成 JSON;
在 C# 代码中,当我尝试像这样使用对象时遇到异常:
// Passed into this function is InboundObjectDTO inboundObject
// inboundObject.Email in debugger is like so: "\"a@example.com\""
var message = new MailMessageDTO
{
Subject = "My Subject",
MailAddresses = new List<MailAddress>()
};
message.MailAddresses.Add(new MailAddress(inboundObject.Email));
我应该事先以某种方式反序列化对象吗?我在对象中有 3 个字符串:电子邮件、消息和姓名。
上面的最后一行代码给了我“MailAddresses 异常中的一个无效字符”。我猜它需要以适当的方式删除所有额外的引号。
【问题讨论】:
-
您的电子邮件地址中可能包含 Unicode 字符。请参阅:medium.com/@zackbloom/…
-
我们如何解决这个问题?
-
@cdub
inboundObject.Email似乎仍然包含\"。你也可以在inboundObject.Email的第 1 行运行你的替换语句吗? -
为什么在所有 3 个值中仍然有 \"?
-
我想把它全局删除。
标签: c# asp.net-core .net-core asp.net-core-3.1