json.Unmarshal 是否维护 JSON 数组的顺序

是否json.Unmarshal保留传入的 JSON 数组的顺序?

我知道在 JSON 本身中,不期望数组保持顺序。但是,给定具有相同数据集的 2 次调用json.Unmarshal,我可以保证将数组解组到的 go 切片的顺序将具有相同的顺序吗?



尚方宝剑之说
浏览 231回答 1
1回答

慕运维8079593

是的,排序是数组数据结构的基本属性,因此在将切片和数组从 JSON 中解散/编组时,go 会隐式地维护它。但是请注意,关联数组,在 JSON 中称为“对象”,在 go(或简称为“地图”)中称为“映射类型”,是“无序的元素组”,因此将它们从 JSON 中解散/编组不会保留顺序的键/值对。最后,将结构编组为 JSON 对象(也称为关联数组)确实会根据结构字段的顺序维护键的顺序,每个json.Marshal(...).
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go