私は辞書を持っています<文字列、文字列>
これをJson.Encodeすると、{"Apple":"Apples","Orange":"Oranges"}
これを取得する方法:-
[{ value: "Apples", key: "Apple" }, { value: "Oranges", key: "Orange"}]
できればNewtonsoft.JsonまたはjQueryを使用する
私は辞書を持っています<文字列、文字列>
これをJson.Encodeすると、{"Apple":"Apples","Orange":"Oranges"}
これを取得する方法:-
[{ value: "Apples", key: "Apple" }, { value: "Oranges", key: "Orange"}]
できればNewtonsoft.JsonまたはjQueryを使用する
JSONシリアライザーに渡す前に、キーと値のペアのリストに変換します。
JsonConvert.SerializeObject(new List<KeyValuePair<string,string>>(dictionary));
コメントを繰り返しますが、データ型をIEnumerable>(またはIDictionary)からIList>に変更すると、シリアル化が「正しく」機能し、データをJavaScript配列としてシリアル化することもできます。私の現在の状況では、JavaScriptはRazorがフォローできない別の.jsファイルに分離されているため、JsonConvert.SerializeObjectを使用することはできませんでした。
ここでは間違いなく奇妙な機能です。JSONシリアル化がデフォルトでどのように反応するのかについて、誰かが何らかの洞察を持っていれば素晴らしいと思います。バグまたは意図的?