我有一个应该保存在json中的类。但我只希望将属性的值保存在列表中,而无需属性名称。
这是我现在得到的:
def listOfLists(n):
lists = []
if i <= 1:
return lists
else:
lists += lists.append([])
listOfLists(n-1)
例如,这就是我想要的:
{
"Data": {
"property1": "value 1",
"property2": "value 2",
"property3": "value 3",
"property4": "value 4",
"property5": "value 5",
}
}
我用以下行序列化该类:
{
"Data": [
"value 1",
"value 2",
"value 3",
"value 4",
"value 5"
]
}
有人知道如何存档吗?
编辑:
using Newtonsoft.Json;
//...
JsonConvert.SerializeObject(classInstance)
答案 0 :(得分:2)
您可以使用反射从Example
类中获取值:
public static IEnumerable<object> GetPropertyValues<T>(T input)
{
return input.GetType()
.GetProperties()
.Select(p => p.GetValue(input));
}
现在您将能够获得预期的结果:
var input = new Example
{
property1 = "value 1",
property2 = "value 2",
property3 = "value 3",
property4 = "value 4",
property5 = "value 5",
};
var json = JsonConvert.SerializeObject(new {Data = GetPropertyValues(input)}, Formatting.Indented);
json
是
{
"Data": [
"value 1",
"value 2",
"value 3",
"value 4",
"value 5"
]
}