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

Parse C# object list into key value pair in JS

本文关键字:JS 键值对 对象 列表      更新时间:2023-09-26

我有一个由网格的列模型属性组成的JSON对象。我想在网格中填充一个下拉列表,为此我有一个带有ID-Value对的对象列表。

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

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;

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

我该如何从中构建JSON格式的数据,以便获得类似的结果?有合适的方法吗?还是我必须做一些类似于拆分并用它做一根绳子的事情?

您可以使用字典:

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"}}