C# 如何从json空对象创建C类
我正在调用API并从API获得此响应C# 如何从json空对象创建C类,c#,asp.net,json,json-deserialization,json-serialization,C#,Asp.net,Json,Json Deserialization,Json Serialization,我正在调用API并从API获得此响应 { "StringValue": "Hi Developers", "TestMessage": { "": [ "Enjoy Coding." ] } } 这就是我如何努力使我的C类 public class MyClass { public string StringValue{ get; set; } public TestMessage MessageTest
{
"StringValue": "Hi Developers",
"TestMessage": {
"": [
"Enjoy Coding."
]
}
}
这就是我如何努力使我的C类
public class MyClass
{
public string StringValue{ get; set; }
public TestMessage MessageTest { get; set; }
}
public class TestMessage
{
[JsonProperty("")]
public IList<string> APIResponse{ get; set; }
//public IList<string> { get; set; }//Also try this but it gives me compilation error
}
但它不起作用我怎么能让它起作用 数组不正确。请尝试TestMessage:[正在编写代码,其他内容]。您正在创建一个空元素,因此它会混淆它。对于您的对象,它的名称也不同。MessageTest应该是TestMessage。最后,对于您的实际IList 试试公共IList消息{get;set;}你能试试这个吗
public class MyClass
{
public string StringValue{ get; set; }
public TestMessage MessageTest { get; set; }
}
public class TestMessage
{
[JsonProperty("")]
public string[] APIResponse{ get; set; }
}
MessageTest应该在公共类MyClass中命名为TestMessage吗?是的,它应该是公共的,对于数据显示,从API获取,我显示messge.HI Steven实际上这不是我这边设置的,它已经存在,现在从其他技术将它迁移到ASP.NET,这就是为什么在这种情况下我无法更改消息响应,FiringSquadWitness是正确的-将MyClass中属性的名称从MessageTest更改为TestMessage,它应该绑定到正确的属性上。感谢您的回答,我尝试使用FiringSquadWitness并提供解决方案,并告诉您问题是否出现。我尝试使用您建议的选项,但对我无效。您好,Pradip。首先,我尝试了这个方法,但它会捕获部分并抛出一个未设置为对象实例的对象异常。你能分享你将json数据转换成类的代码吗?是的,请确认这是webApi的get调用,我尝试在加载时调用它MyClass MyClassResponse=Wait apiGetCall.MyAPICall;你能推荐我深一点吗。首先将响应放入字符串中。然后在尝试此MyClass MyClassResponse=Newtonsoft.Json.JsonConvert.DeserializeObjectyourresponse之后;