2

私は辞書を持っています<文字列、文字列>

これをJson.Encodeすると、{"Apple":"Apples","Orange":"Oranges"}

これを取得する方法:-

[{ value: "Apples", key: "Apple" }, { value: "Oranges", key: "Orange"}]

できればNewtonsoft.JsonまたはjQueryを使用する

4

2 に答える 2

4

JSONシリアライザーに渡す前に、キーと値のペアのリストに変換します。

JsonConvert.SerializeObject(new List<KeyValuePair<string,string>>(dictionary));
于 2012-08-08T01:21:32.087 に答える
1

コメントを繰り返しますが、データ型をIEnumerable>(またはIDictionary)からIList>に変更すると、シリアル化が「正しく」機能し、データをJavaScript配列としてシリアル化することもできます。私の現在の状況では、JavaScriptはRazorがフォローできない別の.jsファイルに分離されているため、JsonConvert.SerializeObjectを使用することはできませんでした。

ここでは間違いなく奇妙な機能です。JSONシリアル化がデフォルトでどのように反応するのかについて、誰かが何らかの洞察を持っていれば素晴らしいと思います。バグまたは意図的?

于 2012-09-12T17:15:41.750 に答える