将C#对象列表解析为JS中的键值对

fai*_*gir 3 javascript c# jquery json

我有一个JSON对象构成网格的列模型属性.我想填充网格中的下拉列表,因为我有一个ID - 值对的对象列表.

网格模型采用以下格式的值:

values: { "be": "Belgium", "fr": "France", "uk": "Great-Britain", "nl": "Nederland" }
Run Code Online (Sandbox Code Playgroud)

我的匿名对象结构如下:

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);
Run Code Online (Sandbox Code Playgroud)

后面的数组结构$.parseJSON是:

    [
Object
ID: "M"
Value: "Male"
__proto__: Object
, 
Object
ID: "F"
Value: "Female"
__proto__: Object
]
Run Code Online (Sandbox Code Playgroud)

编辑:

用于json转换器:

var jsonSerialiser = new JavaScriptSerializer();
json = jsonSerialiser.Serialize(model);
return json;
Run Code Online (Sandbox Code Playgroud)

其中model是包含其他网格属性和值列表的列表.

我如何从中构造JSON格式的数据,以便我有类似的结果?有没有正确的方法呢?或者我是否必须做一些类似于拆分和制作字符串的东西?

Ric*_*ton 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;
Run Code Online (Sandbox Code Playgroud)

这将序列化为:

{"values":{"M":"Male","F":"Female"}}
Run Code Online (Sandbox Code Playgroud)