C#类的嵌套JSON数组
我试图为我正在编写的API传递一个JSON字符串。以下是JSON帖子的样子:C#类的嵌套JSON数组,c#,json,C#,Json,我试图为我正在编写的API传递一个JSON字符串。以下是JSON帖子的样子: {"AssociatedApplication":"Postman", "Key":"a274e012c52d4121bda7d1e7a7218cf5", "Subject":"Testing API", "Body":"Testing email API. Muffins.", "EmailAddresses":[ {"From":"apihelp@test.com"}, {"To":"tus@tes
{"AssociatedApplication":"Postman", "Key":"a274e012c52d4121bda7d1e7a7218cf5", "Subject":"Testing API", "Body":"Testing email API. Muffins.",
"EmailAddresses":[
{"From":"apihelp@test.com"},
{"To":"tus@test.com"},
{"To":"sam.am@test.com"},
{"Cc":"sam.am2@test.com"},
{"Bcc":"sam.am3@test.com"}
]
}
使用JSON2Csharp,我将我的类设置为
[NotMapped]
class EmailTransmission
{
public string AssociatedApplication;
public string Key;
public string Subject;
public string Body;
public List<EmailAddress> EmailAddresses;
}
[NotMapped]
public class EmailAddress
{
public string From { get; set; }
public string To { get; set; }
public string Cc { get; set; }
public string Bcc { get; set; }
}
[未映射]
类电子邮件传输
{
公共字符串关联应用程序;
公共字符串密钥;
公共字符串主题;
公共机构;
公开名单电邮地址;
}
[未映射]
公共类电子邮件地址
{
来自{get;set;}的公共字符串
{get;set;}的公共字符串
公共字符串Cc{get;set;}
公共字符串Bcc{get;set;}
}
当我使用
JsonConvert.DeserializeObject(email[“EmailAddresses”])
时,它不起作用,我尝试了List
List等等。如果没有运行时类型绑定器异常,我应该使用什么类型?如果这实际上是您的代码,那么您应该使用电子邮件传输中的属性,而不是字段
其次,您的类电子邮件传输
需要公开
最后,您应该反序列化整个对象,然后取出您需要的内容
JsonConvert.DeserializeObject<EmailTransmission>(email);
JsonConvert.DeserializeObject(电子邮件);
一旦反序列化了整个json字符串,就可以提取电子邮件地址。如果这实际上是您的代码,您应该使用电子邮件传输中的属性,而不是字段
其次,您的类电子邮件传输
需要公开
最后,您应该反序列化整个对象,然后取出您需要的内容
JsonConvert.DeserializeObject<EmailTransmission>(email);
JsonConvert.DeserializeObject(电子邮件);
一旦反序列化了整个json字符串,就可以提取电子邮件地址。请按如下所示更改电子邮件传输类
[NotMapped]
class EmailTransmission
{
public string AssociatedApplication { get; set; }
public string Key { get; set; }
public string Subject { get; set; }
public string Body { get; set; }
public List<EmailAddress> EmailAddresses { get; set; }
}
[未映射]
类电子邮件传输
{
公共字符串关联应用程序{get;set;}
公共字符串密钥{get;set;}
公共字符串主题{get;set;}
公共字符串体{get;set;}
公共列表电子邮件地址{get;set;}
}
请更改您的电子邮件传输类别,如下所示
[NotMapped]
class EmailTransmission
{
public string AssociatedApplication { get; set; }
public string Key { get; set; }
public string Subject { get; set; }
public string Body { get; set; }
public List<EmailAddress> EmailAddresses { get; set; }
}
[未映射]
类电子邮件传输
{
公共字符串关联应用程序{get;set;}
公共字符串密钥{get;set;}
公共字符串主题{get;set;}
公共字符串体{get;set;}
公共列表电子邮件地址{get;set;}
}
@Dreamcasting很乐意帮忙@很高兴为您提供帮助!