2017-03-08 49 views
0

我有一个包含参数名称和值的对象列表。从扁平结构的db中序列化数据

我要生成序列化与参数的名称作为属性名和值作为值的单个对象

例如:

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

我有两个参数{名称=“NAME1列表“VALUE = ”值1“},{名称= ”NAME2“,值= ”值2“}

我想seriliaze这样的对象:

新{ ”名称1“= ”值1“,”呐me2“=”value2“}

任何线索?

回答

1

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

例如使用Json.NET序列化Dictionary(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"}