是否json.Unmarshal保留传入的 JSON 数组的顺序?我知道在 JSON 本身中,不期望数组保持顺序。但是,给定具有相同数据集的 2 次调用json.Unmarshal,我可以保证将数组解组到的 go 切片的顺序将具有相同的顺序吗?
1 回答
慕运维8079593
TA贡献1876条经验 获得超5个赞
是的,排序是数组数据结构的基本属性,因此在将切片和数组从 JSON 中解散/编组时,go 会隐式地维护它。
但是请注意,关联数组,在 JSON 中称为“对象”,在 go(或简称为“地图”)中称为“映射类型”,是“无序的元素组”,因此将它们从 JSON 中解散/编组不会保留顺序的键/值对。
最后,将结构编组为 JSON 对象(也称为关联数组)确实会根据结构字段的顺序维护键的顺序,每个json.Marshal(...)
.
- 1 回答
- 0 关注
- 230 浏览
添加回答
举报
0/150
提交
取消