1. ホーム
  2. json

[解決済み] ASP.NETでJSONを単純なDictionary<string,string>にデシリアライズするにはどうすればよいですか?

2022-03-22 04:49:01

質問

JSONの単純なキー/値リストがPOSTでASP.NETに送り返されています。例

{ "key1": "value1", "key2": "value2"}

私は、強く型付けされた.netオブジェクトにデシリアライズしようとしているのではありません。

私は単に古い 辞書(文字列の、文字列の) ハッシュテーブル、Dictionary(Of String, Object)、旧式のStringDictionaryなど、文字列の2次元配列でもかまいません。

ASP.NET 3.5で利用できるものは何でも使えますし、人気のあるJson.NET(シリアライズのためにすでに使っています)も利用できます。 への クライアントが)

これらのJSONライブラリのいずれも、このような額縁のような明白な機能を備えていないようです。彼らは、強力なコントラクトによる反射ベースのデシリアライゼーションに完全に集中しています。

何かアイデアはありますか?

制限事項

  1. JSONパーサーを自前で実装したくない
  2. ASP.NET 4.0はまだ使用できない
  3. 古い、非推奨のJSON用ASP.NETクラスは使用しない方が良い。

どのように解決するのですか?

Json.NET は、これを...

string json = @"{""key1"":""value1"",""key2"":""value2""}";

var values = JsonConvert.DeserializeObject<Dictionary<string, string>>(json);

その他の例 Json.NETでコレクションをシリアライズする