我收到了一些我希望存储在单个对象中的奇怪格式的JSON。它看起来像这样:
{
"parentObject":
{
"id": 123456,
"pointlessChildObject":
{
"stringThatCouldBeStoredInParent": "test",
"epochTimeThatCouldBeStoredInParent": "1520452800"
}
}
}
起初,我认为这很简单,感谢Brian Rogers的解决方案,我发现:Can I specify a path in an attribute to map a property in my class to a child property in my JSON?
但是,如果您实施此解决方案,则无法使用其他转换器同时将这些值转换为其他值(例如,对于纪元时间,嵌套[JsonConverter(typeof(SecondsEpochConverter))]
)。当然,因为这是C#,你不能拥有与你的类型不同的集合(在集合中将int
转换为DateTime
)。我试图将代码添加到Brian的解决方案,以便它调用嵌套转换器,但现在我们进入荒谬的领域;我创建了一次使用JSONTextReader
只是为了将值传递给嵌套的转换器,我非常确定我已经过度思考了这一点。
有谁知道更好的解决方案?