c# - 在序列化之前将 string[] 转换为字符串
问题描述
这是我的代码的一部分:
Dictionary<string, string[]> dict = new Dictionary<string, string[]>();
我已将我的数据添加到字典中,并通过以下方式对其进行序列化:
JsonConvert.SerializeObject(dict)
如果字符串数组中只有一项,我想将字符串 [] 转换为字符串。
所以如果输出是:
{
"Number": ["123"],
"Names": ["John", "Harry"]
}
我希望它是:
{
"Number": "123",
"Names": ["John", "Harry"]
}
由于“123”数组中只有一项。那么,如何解决这个问题呢?
解决方案
一种方法是:
var newDict = dict.ToDictionary(x => x.Key,
x => x.Value.Length == 1 ? (object)x.Value.Single() : (object)x.Value);
然后连载newDict
。
大部分逻辑在于第二个论点。我根据长度决定是使用 KVP 值部分的单个元素,还是使用整个字符串数组。
推荐阅读
- mysql - 日期 + X 天作为列的默认值
- c# - 包含二维集合中的方法
- vue.js - v-select 基于值而不是键的自动选择
- c# - 如何在Sqlkata中形成多个Join Conditions sql查询
- mysql - 大数据查询期间与 MySQL 服务器的连接丢失
- php - 更改 php.ini 中的 output_buffering 但不起作用
- java - Netbeans 不会对代码应用更改
- java - AlertDialog 出于某种原因显示全屏
- c# - 如何将简单对象映射到包含自动映射器列表的复杂对象
- android - 如何将 Seekbar 从 Service 更新为 Detail Activity