字段被忽略。我成功取回了 2 个对象的列表,但没有填充任何字段。我究竟做错了什么? (不幸的是,我无法控制 json 格式。它正是以这种结构到达的。
using System.Web.Script.Serialization;
public void myMethod {
string myContent = @"
[
{
"my_object": {
"city": "city 1",
"myAge": 15
}
},
{
"my_object": {
"city": "city 2",
"myAge": 18
}
}
]";
JavaScriptSerializer serializer = new JavaScriptSerializer();
List<my_object> list = serializer.Deserialize<List<my_object>>(myContent);
}
public class json_content {
public string city { get; set; }
public int myAge { get; set; }
}
最佳答案
这段代码解决了你的问题:
public void myMethod()
{
string myContent = @"
[
{
""json_content"": {
""city"": ""city 1"",
""myAge"": 15
}
},
{
""json_content"": {
""city"": ""city 2"",
""myAge"": 18
}
}
]";
JavaScriptSerializer serializer = new JavaScriptSerializer();
List<wrapper> list = serializer.Deserialize<List<wrapper>>(myContent);
}
public class wrapper
{
public json_content json_content { get; set; }
}
public class json_content
{
public string city { get; set; }
public int myAge { get; set; }
}
关于c# - 使用 JavaScriptSerializer 的反序列化缺少字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17869452/