C# 如何创建具有相同标头的多个JSON集
我有一个JSON,它在创建之前有以下模式 点击API,见下文 使用此预定义格式,我想创建多个签名者集, 如下图所示 我正在使用C#编程语言,如果我只是硬编码并发送的话。信息技术 工作,但如果我想动态创建。我怎样才能做到这一点。 目前,我正在使用这个像 其输出为: 但是使用这种逻辑,我没有得到想要的输出。它是 将所有3封电子邮件视为一封 只是想补充一点,在一个用户的帮助下,我试着把它编码出来C# 如何创建具有相同标头的多个JSON集,c#,asp.net,json,json.net,C#,Asp.net,Json,Json.net,我有一个JSON,它在创建之前有以下模式 点击API,见下文 使用此预定义格式,我想创建多个签名者集, 如下图所示 我正在使用C#编程语言,如果我只是硬编码并发送的话。信息技术 工作,但如果我想动态创建。我怎样才能做到这一点。 目前,我正在使用这个像 其输出为: 但是使用这种逻辑,我没有得到想要的输出。它是 将所有3封电子邮件视为一封 只是想补充一点,在一个用户的帮助下,我试着把它编码出来 foreach (var email in List_Emails) { var rec_Info
foreach (var email in List_Emails)
{
var rec_Info = new RecipientSetInfo();
rec_Info.recipientSetRole = "SIGNER";
List_Recipients.Add(rec_Info);
}
但问题仍然存在,因为“recipientSetInfos”有两个子类,即recipientSetRole和recipientSetMemberInfos,其中“recipientSetMemberInfos”有一个属性Email
所以,当我把这两个列表加在一起时,结果是空的
"recipientSetInfos":
[
{"recipientSetMemberInfos":null,
"recipientSetRole":"SIGNER"
},
{"recipientSetMemberInfos":null,
"recipientSetRole":"SIGNER"
}
]
我创建的两个元素的结构如下-
public class RecipientSetMemberInfo
{
public string email { get; set; }
}
public class RecipientSetInfo
{
public List<RecipientSetMemberInfo> recipientSetMemberInfos { get; set; }
public string recipientSetRole { get; set; }
}
公共类RecipientSetMemberInfo
{
公共字符串电子邮件{get;set;}
}
公共类RecipientSetInfo
{
公共列表recipientSetMemberInfos{get;set;}
公共字符串recipientSetRole{get;set;}
}
请建议
您的问题是,您为每封电子邮件创建了一个
收件人设置信息,而不是一个
以下内容将循环浏览List\u电子邮件
收集,并将它们添加到列表List\u收件人
foreach (var email in List_Emails)
{
var rec_Info = new RecipientSetInfo();
rec_Info.recipientSetRole = "SIGNER";
List_Recipients.Add(rec_Info);
}
谢谢你的快速回复,我也试过这种方法。当我合并这两个列表时出现的问题是,列表电子邮件会让我收到空电子邮件。如果我添加了quick watch&check,它确实有电子邮件值。请参阅下面的示例:“recipientSetInfos”:[{“recipientSetMemberInfos”:null,“recipientSetRole”:“SIGNER”},{“recipientSetMemberInfos”:null,“recipientSetMemberInfos”:null,“recipientSetRole”:“SIGNER”},{“recipientSetMemberInfos”:null,“recipientSetRole”:“SIGNER”}]您能完整发布List\u电子邮件吗?foreach(grd\u signers.Rows中的GridViewRow gridRow){TextBox Tb1=(TextBox)grd\u signers.Rows[rowIndex].Cells[1]。FindControl(“Tb\u电子邮件”);string Email=string.Empty;Email=Tb1.Text;RecipientSetMemberInfo rec_MemberInfo2=new RecipientSetMemberInfo();rec_MemberInfo2.Email=Email;List_Email.Add(rec_MemberInfo2);rowIndex++}
我的列表正在填写编辑您的帖子并将其添加到末尾,这样它将更具可读性,其他人也可以回答。首先,非常感谢您Orel。从3小时起,我就一直在为这个问题苦苦挣扎。你给我指出了正确的方向&我得到了我想要的东西。。我只是每次都要刷新邮件列表&在收件人之间创建新邮件。这样做用于删除一系列电子邮件,并为我获取所需的电子邮件索引。。再次感谢。。非常感谢……)
foreach (var email in List_Emails)
{
var rec_Info = new RecipientSetInfo();
rec_Info.recipientSetRole = "SIGNER";
List_Recipients.Add(rec_Info);
}
"recipientSetInfos":
[
{"recipientSetMemberInfos":null,
"recipientSetRole":"SIGNER"
},
{"recipientSetMemberInfos":null,
"recipientSetRole":"SIGNER"
}
]
public class RecipientSetMemberInfo
{
public string email { get; set; }
}
public class RecipientSetInfo
{
public List<RecipientSetMemberInfo> recipientSetMemberInfos { get; set; }
public string recipientSetRole { get; set; }
}
foreach (var email in List_Emails)
{
var rec_Info = new RecipientSetInfo();
rec_Info.recipientSetRole = "SIGNER";
List_Recipients.Add(rec_Info);
}