C# 如何将包含另一个对象列表的对象列表传递给wcf

C# 如何将包含另一个对象列表的对象列表传递给wcf,c#,ajax,wcf,C#,Ajax,Wcf,我有一个类包含另一个类的对象列表,但当我将对象列表发送给wcf方法时,它将变成null。 这是我的全部代码 这是我的班级:- public class BOTHCCharges_DETAILS { public String THCTerm { get; set; } public String FromNumberOfContainer { get; set; } public String ToNumberOfContainer { get; set; } p

我有一个类包含另一个类的对象列表,但当我将对象列表发送给wcf方法时,它将变成null。 这是我的全部代码

这是我的班级:-

public class BOTHCCharges_DETAILS
{
    public String THCTerm { get; set; }
    public String FromNumberOfContainer { get; set; }
    public String ToNumberOfContainer { get; set; }
    public String _20_GP { get; set; }
    public String _20_HC { get; set; }
    public String _40_GP { get; set; }
    public String _40_HC { get; set; }
    public String Size { get; set; }
    public String Weight { get; set; }
}

[DataContract]
[KnownType(typeof(List<BOTHCCharges_DETAILS>))]
public class List_BOTHCCharges_DETAILS
{
    [DataMember]
    public List<BOTHCCharges_DETAILS> THC_Details { get; set; }
}


//****    ICharges.cs 
 [OperationContract]
 [WebInvoke(Method = "POST", ResponseFormat = WebMessageFormat.Json, RequestFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Wrapped, UriTemplate = "AddTHCCharges")]
 String AddTHCCharges(BOTHCCharges_Master OBJBOTHCCharges_Master, List<List_BOTHCCharges_DETAILS> List_BOTHCCharges_DETAILS);

//***    Charges.svc.cs
 public string AddTHCCharges(BOTHCCharges_Master OBJBOTHCCharges_Master, List<List_BOTHCCharges_DETAILS> List_BOTHCCharges_DETAILS)
    {
      //code goes here.
    }

您的JSON与您的类不匹配

这个

不是这个

{ [ "THC_Details", { "THCTerm":"", … } ], … }
如果JSON与类定义不匹配,您将得到一个
null
,因为绑定器无法对有效负载进行反序列化。

[“THC_详细信息”,“THCTerm:”,“FromNumberOfContainer:”,“ToNumberOfContainer:”,“\u 20_GP:”,“\u 40_GP:”,“大小”:“20”,“重量”:“控制台”,{“thacterm”:“FromNumberOfContainer”:“tonNumberOfContainer”:“\u20\uGP”:“\u20\uHC”:“\u40\uGP”:“\u40\uHC”:“Size”:“Size”:“20”,“Weight”:“Consol”}”)是两种类型的对象列表
{ "THC_Details": [ { "THCTerm":"", … }, … ] }
{ [ "THC_Details", { "THCTerm":"", … } ], … }