嗨,我不能在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());