ideaki's blog

WinRT C#/XAML の開発について

C# 動的なキーのJSONをデシリアライズする

はてなびゅぅゎぁのコードを部分的に紹介する記事。
#region 宣伝
はてなびゅぅゎぁ公開中です。

はてなびゅぅゎぁ | Windows Phone Apps+Games Store (United States)
#endregion

WP向けに公開中のはてなびゅぅゎぁはてなブックマークAPIを使用してます。
↓あたり

上の中のはてなブックマーク件数取得APIJSONレスポンスはちょっと変わって(?)いて、リクエストで指定したURLがキーになってます。(値に被ブクマ数)

{"http://www.hatena.ne.jp/":5790,"http://b.hatena.ne.jp/":6793}

Json.Netあたりでこんなのどうやってデシリアライズするんじゃーって思ったんですが。
Dictionaryに食わしてやればよいようです。

サンプル

void hoge()
{
    var json = @"
                {
                    ""http://www.hatena.ne.jp/"":5790,
                    ""http://b.hatena.ne.jp/"":6793
                }
                ";
    // using Newtonsoft.Json;
    var dic = JsonConvert.DeserializeObject<Dictionary<string, int>>(json);
    foreach (var key in dic.Keys)
        Debug.WriteLine("{0}:{1}", key, dic[key]);
}

結果

http://www.hatena.ne.jp/:5790
http://b.hatena.ne.jp/:6793

もっとスマートな方法あったら教えてください。