c# - 在不丢失顺序的情况下转换为 JSON 数组
问题描述
我正在使用以下代码使用 NewtonSoft 合并所有 json 对象。
var result = input.SelectMany(d => d.Select(kvp => kvp.Value))
.Select((value, index) => new {index, value})
.ToDictionary(iv => iv.index, iv => iv.value);
但是我想在不丢失顺序的情况下将其更改为 json 数组。使用“toArray”只是将每个单独的 json 对象添加到 json 数组中。如何仅将值添加到 json 数组?
结果的值为 ,
{"0":"a","1":"b","2":"c","3":"d","4":"e"}
我试图让输出按[a,b,c,d,e]
顺序排列,而不会像键中那样丢失索引的顺序。
解决方案
呼叫.ToDictionary()
已经失去秩序。
在不知道您正在处理的变量的类型的情况下,提供一个全面的答案有点困难,但您可能只想替换.ToDictionary
为.Select(iv => iv.value.something)
,然后是.ToArray()
。这只会为您提供价值并保持秩序。
推荐阅读
- swift - 如何在登录页面的 alamofire 中为“错误”设置标识符
- unit-testing - 如何在单参数化测试方法中断言真假
- github-pages - 检索多个策划的 github 存储库
- python - Python:计算一段时间内 Pandas 数据框中的累积量
- python - 有没有办法清理这些奇怪的符号
- apache-kafka - 同步 Kafka 中的中间主题:使用 Spring Request-Reply
- c++ - 你能帮我解决我的递归函数吗?
- php - 从正确时区的文件中获取“最后修改”日期?
- javascript - 如何在 PDF 中嵌入交互式网页?
- python - Python.如何让这个函数返回一个整数而不是一个列表?