3

グリッドの列モデル属性を構成する JSON オブジェクトがあります。グリッドにドロップダウンを設定したいので、ID - 値のペアを持つオブジェクト リストがあります。

グリッド モデルは、次の形式で値を取得します。

values: { "be": "Belgium", "fr": "France", "uk": "Great-Britain", "nl": "Nederland" }

私の匿名オブジェクト構造は次のとおりです。

List<Object> valueList = new List<Object>();
var item1 = new { ID = "M", Value = "Male" };
var item2 = new { ID = "F", Value = "Female" };
valueList.Add(item1);
valueList.Add(item2);

後の配列構造$.parseJSONは次のとおりです。

    [
Object
ID: "M"
Value: "Male"
__proto__: Object
, 
Object
ID: "F"
Value: "Female"
__proto__: Object
]

編集:

これをjsonコンバーターに使用する:

var jsonSerialiser = new JavaScriptSerializer();
json = jsonSerialiser.Serialize(model);
return json;

モデルは、他のグリッド属性と値のリストを含むリストです。

同様の結果が得られるように、これから JSON 形式のデータを作成するにはどうすればよいですか? 適切な方法はありますか?または、分割して文字列を作成するのと同様のことを行う必要がありますか?

4

1 に答える 1

7

辞書を使用できます:

Dictionary<string, string> valueList = new Dictionary<string, string>();
valueList.Add("M", "Male");
valueList.Add("F", "Female");

var jsonSerialiser = new JavaScriptSerializer();
var json = jsonSerialiser.Serialize(new { values: valueList });
return json;

これは次のようにシリアル化されます。

{"values":{"M":"Male","F":"Female"}}
于 2013-02-26T11:46:17.833 に答える