2011-01-04 15 views
5

Para determinados parámetros SimpleGeo.com devuelve algo como esto:¿Cómo deserializar json con diccionarios anidados?

{ 
    "geometry":{ 
     "type":"Point", 
     "coordinates":[ 
      -122.421583, 
      37.795027  
     ]   
    }, 
    "type":"Feature", 
    "id":[email protected], 
    "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/[email protected], 
     "address":"1900 Polk St", 
     "owner":"simplegeo", 
     "postcode":"94109", 
     "classifiers":[ 
      { 
       "category":"Restaurant", 
       "type":"Food & Drink", 
       "subcategory":""     
      }    
     ]   
    }  
} 

(ver http://simplegeo.com/docs/api-endpoints/simplegeo-features#get-detailed-information).

Ahora tengo un pequeño problema que deserializa la parte de 'propiedades'. Si uso, p. un tipo de diccionario lo convierte en un lindo diccionario, pero el valor de 'clasificadores' es solo una cadena {}.

¿Hay alguna manera de decirle a json.net que deserialice las sub-matrices en otro diccionario, etc.? Básicamente hay una cantidad de clave/valores simples en esa devolución, pero sé que podría haber algo más que solo la sub-matriz de 'clasificadores' (ver las 'etiquetas'), y tal vez la profundidad vaya aún más allá en los valores. ..

Así que, básicamente, lo que me preguntaba es, ¿cómo deserializo correctamente la parte de las propiedades? ¿Alguna sugerencia? No me importa escribir mi propio JsonConverter, pero tal vez ya haya una forma de hacerlo sin él.

Respuesta

Cuestiones relacionadas