ホームに戻る
出典 :
関連 :
目次 :
JSON - Dictionaryの相互変換
準備 : アセンブリ System.Text.Json / System.Memory の参照追加
-
ソリューション エクスプローラー上で、追加先プロジェクト下の「参照」を右クリック、
「参照の追加」を選択する。
-
「アセンブリ」>「拡張」を選択し、「System.Text.Json」、「System.Memory」にチェックを入れる。

Dictionary からJSONへの変更(シリアライズ)
JsonSerializer を用いることで、string をキーに用いる Dictionary をJSONに変換できる。
// 元データ(Dictionary)
// キー(TKey)は string に限定される
var dic = new Dictionary<string, string>
{ // キー 値
{ "Hyogo" , "Kobe" },
{ "Shiga" , "Ohtsu" },
{ "Ishikawa", "Kanazawa" },
{ "Miyagi" , "Sendai" },
};
// dic をJSONに変換(シリアライズ)
string jsonStr = System.Text.Json.JsonSerializer.Serialize(dic);
System.Diagnostics.Debug.Print("{0}", jsonstr);
出力結果
{"Hyogo":"Kobe","Shiga":"Ohtsu","Ishikawa":"Kanazawa","Miyagi":"Sendai"}
JSONから Dictionary への変更(デシリアライズ)
JSONを Dictionary に変換する際には、Dictionary の完全な型を与える必要がある。
// 元データ(JSON文字列)
string jsonStr = @"{""Hyogo"":""Kobe"",""Shiga"":""Ohtsu"",""Ishikawa"":""Kanazawa"",""Miyagi"":""Sendai""}";
// dic をJSONに変換(シリアライズ)
// 戻り値となる Dictionary の型を指定する
var dic = System.Text.Json.JsonSerializer.Deserialize<Dictionary<string, string>>(jsonStr);