【发布时间】:2015-05-14 18:19:21
【问题描述】:
我有以下 JSON:
[
{
"ID": "Test1234",
"Child": {
"ID": "NULL"
}
},
{
"ID" : "Test1235",
"Child": {
"ID" : "Test1234"
}
}
]
我已将其映射到以下 C# 类:
[JsonObject]
public class MyExample
{
string ID;
MyExample Child;
}
这有两个对象来模拟父/子关系。第一个对象Test1234 应该没有Child (null)。相反,json.net(正确地)将Child 反序列化为MyExample 对象,其中ID 为“NULL”。这是我想要的行为:
var myObjects = JsonConvert.DeserializeObject<List<MyExample>>(jsonText);
Assert.AreEqual("Test1234", myObjects[0].ID);
Assert.IsNull(myObjects[0].Child);
Assert.AreEqual("Test1235", myObjects[1].ID);
Assert.AreEqual("Test1234", myObjects[1].child.ID);
有没有一种简单的方法来指定属性的 null 处理?这是在我正在使用的 API 中表示空值的默认方式,并且我还有其他(相关)类都以这种方式工作。
【问题讨论】: