转换为JSON数组而不丢失顺序

时间:2019-11-17 10:10:00

标签: 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"}

im尝试使输出顺序为[a,b,c,d,e],而不会像键中那样失去索引的顺序。

1 个答案:

答案 0 :(得分:2)

已经looses order呼叫.ToDictionary()

在不知道要处理的变量类型的情况下,很难提供一个全面的答案,但是您可能只想将.ToDictionary替换为.Select(iv => iv.value.something),然后替换为{{1} }。这只会为您提供值并保留顺序。