2011-01-04 49 views
5

Đối với một số điểm cuối SimpleGeo.com trả về một cái gì đó như thế này:Làm thế nào để deserialize json với từ điển lồng nhau?

{ 
    "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":""     
      }    
     ]   
    }  
} 

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

Bây giờ tôi có một vấn đề nhỏ deserializing phần 'tài sản'. Nếu tôi sử dụng ví dụ: một loại từ điển nó chuyển đổi nó thành một từ điển tốt đẹp, nhưng giá trị 'phân loại' chỉ là một chuỗi {}.

Có cách nào để yêu cầu json.net bỏ qua các mảng phụ vào một từ điển khác v.v. không? Về cơ bản có một số khóa/giá trị đơn giản trong trả về đó, nhưng tôi biết rằng có thể có nhiều hơn chỉ là mảng 'phân loại' (xem 'thẻ') và có thể độ sâu càng cao trong các giá trị. ..

Vì vậy, về cơ bản những gì tôi đã tự hỏi là, làm thế nào để tôi deserialize phần tài sản? Bất kỳ đề xuất? Tôi không ngại viết JsonConverter của riêng mình, nhưng có lẽ đã có cách làm việc mà không có nó.

Trả lời

1

Tôi đã tìm thấy giải pháp cho một câu hỏi tương tự tại đây: Json.NET: Deserializing nested dictionaries.

Nó sử dụng JsonConverter tùy chỉnh và tôi không thấy cách làm mà không có nó.

+0

Hoạt động, cảm ơn Alex! –

Các vấn đề liên quan