无法在c# .net的模型类中绑定数据,在将动态数据绑定到字段时出现错误



嗨,我不能在c#类字段中绑定数据。得到错误"对象引用未设置为对象的实例"。这是我的c#类如下:

public partial class AccessCodeReqBody
{
[JsonProperty("scenarioKey")]
public string ScenarioKey { get; set; }
[JsonProperty("destinations")]
public Destination[] Destinations { get; set; }
[JsonProperty("whatsApp")]
public WhatsApp WhatsApp { get; set; }
}
public partial class Destination
{
[JsonProperty("to")]
public To To { get; set; }
}
public partial class To
{
[JsonProperty("phoneNumber")]
public string PhoneNumber { get; set; }
}
public partial class WhatsApp
{
[JsonProperty("templateName")]
public string TemplateName { get; set; }
[JsonProperty("templateData")]
public string[] TemplateData { get; set; }
[JsonProperty("language")]
public string Language { get; set; }
}

,请求json如下:

{
"scenarioKey":"696BDB51C0ACF9E65B86D3E1D08A0084",
"destinations":[
{
"to":{
"phoneNumber":"919910666888"
}
}
],
"whatsApp":{
"templateName":"access_code",
"templateData":[
"Jennifer",
"Demo",
"123456"
],
"language":"en"
}
}

,在c#类中绑定数据的代码如下,我在绑定电话号码&模板名称:

AccessCodeReqBody reqbody = new AccessCodeReqBody();
reqbody.ScenarioKey = "51F5865AE296FAE86614EED";

reqbody.Destinations.To.PhoneNumber = text1;
reqbody.WhatsApp.TemplateName = "access_code";
reqbody.WhatsApp.Language = "en";
reqbody.WhatsApp.TemplateData = GetData(text2.ToString());

Thanks in Advance.

类的结构正确。使用以下代码

AccessCodeReqBody accessCodeReqBody = JsonConvert.DeserializeObject<AccessCodeReqBody>(json);

似乎是一个足够简单的解决方案

AccessCodeReqBody reqbody = new AccessCodeReqBody();
reqbody.ScenarioKey = "51F5865AE296FAE86614EED";
// Initialize your WhatsApp object. It is null if you don't
reqbody.WhatsApp = new WhatsApp();
//reqbody.Destinations.To.PhoneNumber = text1;
reqbody.WhatsApp.TemplateName = "access_code";
reqbody.WhatsApp.Language = "en";
reqbody.WhatsApp.TemplateData = GetData(text2.ToString());

最新更新