你好,我有一本我正在使用的字典。
Dictionary<string, string> myProperties
我正在尝试将其格式化为JSON并且遇到困难。我需要它像这样:
{
"properties": [
{
"property": "firstname",
"value": "John"
},
{
"property": "lastname",
"value": "Doe"
},
{
"property": "country",
"value": "united states"
}
]
}
目前我正在使用Json.NET来序列化字典,但这给了我:
{
"country": "united states",
"firstname": "John",
"lastname": "Doe"
}
任何人都可以帮助我将其格式化为我需要的内容。任何帮助将不胜感激。
答案 0 :(得分:2)
你通过将.Select()
的结果发送到包含在anon类中的json序列化程序来实现这一点,但如果你打算构建更大的东西,我建议你使用真正的类。
JsonConvert.SerializeObject(
new {properties = myProperties.Select(kv => new { property = kv.Key, value = kv.Value})}
,Formatting.Indented);
这会给你
{
"properties": [
{
"property": "firstname",
"value": "John"
},
{
"property": "lastname",
"value": "Doe"
},
{
"property": "country",
"value": "united states"
}
]
}
答案 1 :(得分:0)
以N0b1ts为基础回答:
JsonConvert.SerializeObject(new { properties = myProperties.Select(kvp => new { property = kvp.Key, value = kvp.Value }).ToList() }, Formatting.Indented);