[英]How to convert list of string in key value pair json string response?
下面是我的字符串列表:
List<string> mylist = new List<string>(new string[] { "element1", "element2", "element3" });
现在我想以下面的输出形式将上面的列表返回到Web服务:
{
"element1" : "",
"element2" : "",
"element3" : "",
}
我想在我的网站上显示如下输出:
{
"element1" : "",
"element2" : "",
"element3" : "",
}
这就是我现在正在做的事情:
string output = "{" + Environment.NewLine;
foreach (var item in myList)
{
output += $"\"{item}\" : \"\"," + Environment.NewLine;
}
output = output.Remove(output.Length - 1) + "}";
但是当我有40-50个记录时,我的循环将运行40-50次,我试图避免。
我甚至试图用这个:
string output = JsonConvert.SerializeObject(myList);
但上面没有给出我想要的确切输出格式。
任何人都可以建议我做任何更好的方法,这将避免forloop和减少代码产生预期的输出?
这应该做你想要的:
string output = JsonConvert.SerializeObject(
mylist.ToDictionary(key => key, v => string.Empty));
使用ToDictionary()
我们从列表中创建一个Dictionary<T1, T2>
(在您的情况下为Dictionary<string, string>
)。 我们使Key
等于列表中的项, Value
只是一个空字符串。
在这里小提琴
编辑如果您想要缩进格式,请将第二个参数传递给SerializeObject:
string output = JsonConvert.SerializeObject(
mylist.ToDictionary(key => key, v => string.Empty)
Formatting.Indented);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.