无法在C#.net中绑定模型类中的数据,将动态数据绑定到字段时出错
嗨,我无法绑定C#类字段中的数据。。 获取错误“对象引用未设置为对象的实例”。 这是我的C#类,如下所示:无法在C#.net中绑定模型类中的数据,将动态数据绑定到字段时出错,c#,json,class,C#,Json,Class,嗨,我无法绑定C#类字段中的数据。。 获取错误“对象引用未设置为对象的实例”。 这是我的C#类,如下所示: public partial class AccessCodeReqBody { [JsonProperty("scenarioKey")] public string ScenarioKey { get; set; } [JsonProperty("destinations")]
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; }
}
{
"scenarioKey":"696BDB51C0ACF9E65B86D3E1D08A0084",
"destinations":[
{
"to":{
"phoneNumber":"919910666888"
}
}
],
"whatsApp":{
"templateName":"access_code",
"templateData":[
"Jennifer",
"Demo",
"123456"
],
"language":"en"
}
}
&请求如下所示:
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; }
}
{
"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());
提前感谢。课程结构正确。使用此代码
AccessCodeReqBody accessCodeReqBody = JsonConvert.DeserializeObject<AccessCodeReqBody>(json);
AccessCodeReqBody AccessCodeReqBody=JsonConvert.DeserializeObject(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());
没有复制。我必须对你的班级进行反序列化。我们可以了解更多信息/背景吗?您的错误消息看起来像
NullReferenceException
“对象引用未设置为对象的实例”,因此导致该错误的行在哪里。你的标题是关于动态的,我知道你没有初始化reqbody.Destination
<代码>reqbody.Destination=新目的地[]{}代码>,如果你想添加,你可能需要一个目的地列表而不是数组。如果有人有dupe标志,谢谢meysam asadi,但是我在c#class字段“电话号码”和“模板名”中绑定数据的问题,我已经编辑了我的问题供你参考。我不明白你的意思。是否要序列化?或者将电话号码绑定到templatename做什么?是的,我想绑定电话号码和模板名称,在将电话号码和其他数据绑定到c#类后,我会将该类转换为json。转到此答案的数组/数组元素:。它与json无关。您的错误消息是关于NullReferenceException
,您忘记初始化内容。