我正在使用Json.NET反序列化以下JSON:
[
{
"id": 1234,
"name": "Example",
"coords": "[12:34]",
"relationship": "ownCity"
},
{
"id": 53,
"name": "Another example",
"coords": "[98:76]",
"relationship": "ownCity"
}
]
我试图将其解析为List。
List<City> cities = JsonConvert.DeserializeObject<List<City>>(json);
城市课程的定义:
public class City
{
int id { get; set; }
string name { get; set; }
string coords { get; set; }
string relationship { get; set; }
}
结果是两个City对象的列表,但它们的所有属性都为null(id为0)。
有人能告诉我我做错了吗?提前谢谢。
答案 0 :(得分:3)
您的字段都标记为(默认情况下)为私有字段。 将它们更改为公共或受保护,它应该可以正常工作:
public class City
{
public int id { get; set; }
public string name { get; set; }
public string coords { get; set; }
public string relationship { get; set; }
}
答案 1 :(得分:1)
它适用于你
默认情况下,类成员和结构成员的访问级别(包括嵌套类和结构)是私有的。
[DataContract] 公共类城市 {
[DataMember]
public int id { get; set; }
[DataMember]
public string name { get; set; }
[DataMember]
public string coords { get; set; }
[DataMember]
public string relationship { get; set; }
}