下面是我的字符串列表:
List<string> mylist = new List<string>(new string[] { "element1", "element2", "element3" });
Run Code Online (Sandbox Code Playgroud)
现在我想以下面的输出形式将上面的列表返回到Web服务:
{
"element1" : "",
"element2" : "",
"element3" : "",
}
Run Code Online (Sandbox Code Playgroud)
我想在我的网站上显示如下输出:
{
"element1" : "",
"element2" : "",
"element3" : "",
}
Run Code Online (Sandbox Code Playgroud)
这就是我现在正在做的事情:
string output = "{" + Environment.NewLine;
foreach (var item in myList)
{
output += $"\"{item}\" : \"\"," + Environment.NewLine;
}
output = output.Remove(output.Length - 1) + "}";
Run Code Online (Sandbox Code Playgroud)
但是当我有40-50个记录时,我的循环将运行40-50次,我试图避免.
我甚至试图用这个:
string output = JsonConvert.SerializeObject(myList);
Run Code Online (Sandbox Code Playgroud)
但上面没有给出我想要的确切输出格式.
任何人都可以建议我做任何更好的方法,这将避免forloop和减少代码产生预期的输出?
这应该做你想要的:
string output = JsonConvert.SerializeObject(
mylist.ToDictionary(key => key, v => string.Empty));
Run Code Online (Sandbox Code Playgroud)
使用ToDictionary()我们从您的列表中创建Dictionary<T1, T2>(在您的情况下Dictionary<string, string>).我们将Key等于列表中的项目,并且Value只是一个空字符串.
在这里小提琴
编辑 如果您想要缩进格式,请将第二个参数传递给SerializeObject:
string output = JsonConvert.SerializeObject(
mylist.ToDictionary(key => key, v => string.Empty)
Formatting.Indented);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1586 次 |
| 最近记录: |