如何在 c# 中创建键/值对数组?



我有一个在MVC之上编写的应用程序 ASP.NET。在我的一个控制器中,我需要在 C# 中创建一个对象,因此当它使用JsonConvert.SerializeObject()转换为 JSON 时,结果如下所示

[
{'one': 'Un'},
{'two': 'Deux'},
{'three': 'Trois'}
]

我尝试使用这样的Dictionary<string, string>

var opts = new Dictionary<string, string>();
opts.Add("one", "Un");
opts.Add("two", "Deux");
opts.Add("three", "Trois");
var json = JsonConvert.SerializeObject(opts);

但是,上述内容会创建以下 json

{
'one': 'Un',
'two': 'Deux',
'three': 'Trois'
}

如何以某种方式创建对象,以便JsonConvert.SerializeObject()生成所需的输出?

您的外部 JSON 容器是一个数组,因此您需要返回某种非字典集合,例如根对象的List<Dictionary<string, string>>,如下所示:

var opts = new Dictionary<string, string>();
opts.Add("one", "Un");
opts.Add("two", "Deux");
opts.Add("three", "Trois");
var list = opts.Select(p => new Dictionary<string, string>() { {p.Key, p.Value }});

样品小提琴。

相关内容

  • 没有找到相关文章

最新更新