expandoobject没有正确映射

时间:2017-06-14 22:31:10

标签: c# expandoobject

我有动态内容,我想映射到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来发送请求,因此它必须匹配旧格式。

1 个答案:

答案 0 :(得分:0)

我需要JsonConvert.SerializeObject与expandoobject一起使用