Для некоторых конечных точек SimpleGeo.com возвращает что-то вроде этого:
{
"geometry":{
"type":"Point",
"coordinates":[
-122.421583,
37.795027
]
},
"type":"Feature",
"id":SG_5JkVsYK82eLj26eomFrI7S_37.795027_-122.421583@1291796505,
"properties":{
"province":"CA",
"city":"San Francisco",
"name":"Bell Tower",
"tags":[],
"country":"US",
"phone":"+1 415 567 9596",
"href": http://api.simplegeo.com/1.0/features/SG_5JkVsYK82eLj26eomFrI7S_37.795027_-122.421583@1291796505.json,
"address":"1900 Polk St",
"owner":"simplegeo",
"postcode":"94109",
"classifiers":[
{
"category":"Restaurant",
"type":"Food & Drink",
"subcategory":""
}
]
}
}
(см. http://simplegeo.com/docs/api-endpoints/simplegeo-features#get-detailed-information).
Теперь у меня небольшая проблема с десериализацией части 'properties'. Если я использую, например, тип Dictionary, он преобразует его в хороший словарь, но значение 'классификаторов' - всего одна строка {}.
Есть ли способ сказать json.net о десериализации подмассивов в еще один словарь и т. Д. И т. Д.? По сути, в этом возвращении есть количество простых ключей / значений, но я знаю, что это может быть нечто большее, чем просто подкласс «классификаторов» (см. «Теги»), и, возможно, глубина еще больше углубляется в значения. ..
Так что в основном меня интересует, как правильно десериализовать часть свойств? Какие-либо предложения? Я не против написать свой собственный JsonConverter, но, возможно, уже есть способ, который работает без него.