提问者:小点点

在平面结构中序列化来自db的数据


我有一个包含参数名和参数值的对象列表。

我想在单个对象中生成,序列化它,参数名作为属性名,值作为值

示例:

public class Parameter
{
    public string Name { get; set; }
    public string Value { get; set; }
}

我有一个包含两个参数的列表{Name=“name1”,Value=“value1”},{Name=“name2”,Value=“value2”}

我想对一个对象进行衬线化处理,如下所示:

new{“name1”=“value1”,“name2”=“value2”}

有线索吗?


共1个答案

匿名用户

一种方法是使用字典(TKey,TValue),如果所使用的序列化库支持它的话。

例如,使用JSON.net字典(string,string)序列化为JSON格式:

var parameters = new List<Parameter>
{
    new Parameter { Name = "name1", Value = "value1" },
    new Parameter { Name = "name2", Value = "value2" }
};

var objToSerialize =
    parameters
    .ToDictionary(
        param => param.Name,
        param => param.Value);

// Use Json.NET to serialize the dictionary
var result = JsonConvert.SerializeObject(objToSerialize);

// Outputs
// result = {"name1":"value1","name2":"value2"}