jQuery.ajax() を介して C# Web サービスに送信する多数のプロパティを持つ JSON オブジェクトがあります。次のようになります。
var obj = {};
obj.LanguageCode = 1031;
obj.Gender = { 'Geschlecht': 'Mann' };
obj.City = { 'Stadt': 'Berlin' };
...
Gender や City などの一部のプロパティは、KeyValuePair にマップするローカライズ/翻訳されたプロンプトと応答を格納します。Javascript をさまざまな方法でフォーマットしようとしましたが、データ型が Dictionary の場合にのみデータが取得されます。データ型が KeyValuePair の場合は機能しません。例えば:
private Dictionary Gender { get; set; } // works: Gender[0] == {[Geschlecht,Mann]}
private KeyValuePair City { get; set; } // doesn't work: City == {[,]}
機能するので、必要に応じて辞書を使用できますが、KeyValuePair の方が適切でクリーンに使用できるようです。Javascript オブジェクトを KeyValuePairs にマップできますか、それとも Dictionary の使用にこだわっていますか?