6

一部のエンドポイントでは、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を参照)。

今、「プロパティ」部分の逆シリアル化に小さな問題があります。たとえば Dictionary のタイプを使用すると、それは適切な辞書に変換されますが、「分類子」の値は 1 つの {} 文字列にすぎません。

サブ配列をさらに別のディクショナリなどに逆シリアル化するように json.net に指示する方法はありますか? 基本的に、その戻り値には多くの単純なキー/値がありますが、「分類子」サブ配列 (「タグ」を参照) だけでなく、値の深さがさらに深くなる可能性があることはわかっています。 ..

基本的に私が疑問に思っていたのは、プロパティ部分を適切に逆シリアル化するにはどうすればよいですか? 助言がありますか?独自の JsonConverter を作成してもかまいませんが、それがなくても機能する方法が既に存在する可能性があります。

4

1 に答える 1

2

ここで同様の質問に対する解決策を見つけました: Json.NET: Deserializing nested dictionaries

カスタム JsonConverter を使用しており、それなしで行う方法がわかりません。

于 2011-06-20T22:15:28.913 に答える