以平面结构从db序列化数据

时间:2017-03-08 14:53:12

标签: c# serialization dynamic

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

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

示例:

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 个答案:

答案 0 :(得分:1)

一种方法是使用Dictionary(TKey, TValue),如果使用的序列化文件库支持它。

例如,使用Json.NETDictionary(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"}