gpt4 book ai didi

c# - 在我的逻辑应用程序的 azure 函数中将电子邮件正文转换为 JSON 对象

转载 作者:行者123 更新时间:2023-12-03 02:40:50 25 4
gpt4 key购买 nike

我有一个逻辑应用程序,其触发器是接收电子邮件。它将我的电子邮件正文传递给 azure 函数。然后,我的函数获取电子邮件的内容并将其转换为 json 对象,以供逻辑应用程序的其余部分使用。 enter image description here

enter image description here

目前,如果我在 azure 函数中对 JSON 对象的输出进行硬编码,则所有步骤都可以正常完成。但是当尝试读取电子邮件正文数据并将其作为 json 对象返回时,会出现 500 错误

下面是我的函数的代码

public static async Task<HttpResponseMessage> Run(HttpRequest req, ILogger log)
{

log.LogInformation("C# HTTP trigger function processed a request.");

string Name = req.Query["Name"];
string PhoneNumber = req.Query["PhoneNumber"];
string SSN = req.Query["SSN"];
string Email = req.Query["Email"];

string requestBody = await new StreamReader(req.Body).ReadToEndAsync();
dynamic data = JsonConvert.DeserializeObject(requestBody);
Name = Name ?? data?.Name;
PhoneNumber = PhoneNumber ?? data?.PhoneNumber;
SSN = SSN ?? data?.SSN;
Email = Email ?? data?.Email;

var myObj = new {name = Name, phone = PhoneNumber, ssn = SSN, email = Email};
var jsonToReturn = JsonConvert.SerializeObject(myObj);

return new HttpResponseMessage(HttpStatusCode.OK) {
Content = new StringContent(jsonToReturn, Encoding.UTF8, "application/json")
};

我的示例邮件正文

  Name: LXXXXX ZXXXXXXXX
PhoneNumber: 5XXXXXXXXX
SSN: 1XXX
Email: <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="3b4f5e484f7b4f5e484f15585456" rel="noreferrer noopener nofollow">[email protected]</a>

最佳答案

由“当新电子邮件到达时”触发器的正文格式引起的问题,我们可以看到正文如下所示:

enter image description here

它不是一个json数据,所以当你将它发送到你的函数时,它会失败。

因此,如果您想成功运行您的函数,我们需要向您的函数提供格式良好的数据。如果您可以决定电子邮件的格式,请将其修改为如下格式:

"Name": "LXXXXX ZXXXXXXXX",
"PhoneNumber": "5XXXXXXXXX",
"SSN": "1XXX",
"Email": "<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="83f7e6f0f7c3f7e6f0f7ade0ecee" rel="noreferrer noopener nofollow">[email protected]</a>"

然后使用 Html to text从电子邮件触发器中删除正文中的 html 标记的操作。 enter image description here

之后,在数据的开头和结尾添加{}。并解析json数据。

enter image description here

现在您可以使用解析 json 中的正文作为函数的输入。

关于c# - 在我的逻辑应用程序的 azure 函数中将电子邮件正文转换为 JSON 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61376702/

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