【发布时间】:2016-01-19 15:08:26
【问题描述】:
一直在谷歌搜索和堆砌解决方案,但没有成功。
我正在将一个 JSON 文件导入到一个结构中,但是,当我想使用它时,这些值会以随机顺序出现。这是我的 JSON 文件的示例:
"Assets": {
"asset1": "asset1.png",
"asset2": "asset2.png"
},
"Colors": {
"MainColor": [
{
"red": 247,
"green": 0,
"blue": 247
}
],
"MainGradient": [
{
"red": 9,
"green": 103,
"blue": 170
},
{
"red": 18,
"green": 138,
"blue": 221
}
]
}
我可以使用 Unmarshal 导入 JSON,但是,当我打印它时,“红、绿、蓝”值会以随机顺序输出,如下所示:
[{map[asset1:asset1.png asset2:asset2.png] {[map[red:247 green:0 blue:247]] [map[green:103 red:9 blue:170] map[green:138 blue:221 red:18]]}}]
如您所见,RGB 值每次都以随机顺序出现。我想知道是否有办法始终以相同的顺序输出:红色、绿色、蓝色。
谢谢。
【问题讨论】:
-
输出前排序..
-
仅供参考,您可能需要稍微修改一下您的问题,因为您实际遇到的问题是如何显示数据。这里没有排序,也没有任何排序。如果您决定按 RGB 值的总和降序对
MainGradient数组进行排序,那将是一种排序。据我所知,您只想将内存中的数据格式化为不同的格式。如果不是这种情况,请提供更正,但地图和结构(这是在 RGB 对象中容纳数据的唯一两个选项)都没有任何顺序概念。
标签: json go interface marshalling unmarshalling