基于属性值将json转换为C#子类
我目前正在使用Microsoft.AspNet.WebApi.Client 5.0.0,其中包括Newtonsoft.Json 4.5.11。我的解决方案是VS 2012和.Net 4.5。我正在对Box.com进行REST调用(外部调用…我无法控制json内容)。从以下(精简的)响应Json中,我想根据响应中“type”属性的值,将“entries”数组反序列化为强类型的“folder”和“file”对象。我试图避免任何自定义转换。是否有一种直接的方法可以做到这一点,也许是通过属性?我觉得我错过了一些简单的事情基于属性值将json转换为C#子类,c#,json,C#,Json,我目前正在使用Microsoft.AspNet.WebApi.Client 5.0.0,其中包括Newtonsoft.Json 4.5.11。我的解决方案是VS 2012和.Net 4.5。我正在对Box.com进行REST调用(外部调用…我无法控制json内容)。从以下(精简的)响应Json中,我想根据响应中“type”属性的值,将“entries”数组反序列化为强类型的“folder”和“file”对象。我试图避免任何自定义转换。是否有一种直接的方法可以做到这一点,也许是通过属性?我觉得我错
{
"total_count" : 2,
"entries" : [{
"type" : "folder",
"id" : "12345678",
"sequence_id" : "2",
"etag" : "2",
"name" : "Some Folder",
},
{
"type" : "file",
"id" : "4324348834",
"sequence_id" : "8",
"etag" : "8",
"sha1" : "134324329e9k93kdieoikek",
"name" : "Testing.xlsx",
"description" : "",
"item_status" : "active"
}
],
"limit" : 30,
"offset" : 0
}
您使用的是什么版本的VS/.NET?我相信你必须做一些自定义转换,但是使用一些关键字可以减轻很多麻烦(使用
字典作为后台存储)。@Brad。。。这个答案似乎是一个解决方案,但对于是否有一种非定制的方法来实现这一点,似乎并不确定。在这里,JSON.NET的使用是一个限制因素吗?有更好的库来简化它吗?这似乎是编写自定义转换器的基础。