我有动态内容,我想映射到subscriberattributes但是当使用ExpandoObject时,它创建了具有键值的数组:
contractatrributes - subscriberattributes - 0 - key:“FirstName” - 值“John”
在C#中分配John的名字
etms.To.ContactAttributes.SubscriberAttributes.ApplicantName = "John";
在json中
"ContactAttributes":{"SubscriberAttributes":[{"Key":"ApplicantName","Value":"John"}]}}
public class ContactAttributes
{
// public SubscriberAttributes SubscriberAttributes { get; set; }
public dynamic SubscriberAttributes { get; set; }
public ContactAttributes()
{
SubscriberAttributes = new ExpandoObject();
}
}
我希望它像 contractattributes - subscriberattributes - FirstName - “John” 旧代码:
public class ContactAttributes
{
public SubscriberAttributes SubscriberAttributes { get; set; }
public ContactAttributes()
{
SubscriberAttributes = new SubscriberAttributes();
}
}
public class SubscriberAttributes
{
public string FirstName { get; set; }
}
在json中
"ContactAttributes":{"SubscriberAttributes":{"FirstName":"John"}}
我不能硬编码名字它可能是很多东西。我在对象上使用JSSerialize来发送请求,因此它必须匹配旧格式。
答案 0 :(得分:0)
我需要JsonConvert.SerializeObject与expandoobject一起使用