登录
首页 >  Golang >  Go问答

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

来源:stackoverflow

时间:2024-03-28 22:00:30 219浏览 收藏

小伙伴们对Golang编程感兴趣吗?是否正在学习相关知识点?如果是,那么本文《json.Unmarshal是否保留JSON数组的顺序》,就很适合你,本篇文章讲解的知识点主要包括。在之后的文章中也会多多分享相关知识点,希望对大家的知识积累有所帮助!

问题内容

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

我知道在 JSON 本身中,数组不应该保持顺序。但是,如果使用相同的数据集对 json.Unmarshal 进行 2 次调用,我能否保证将数组解组到的 go 切片的顺序具有相同的顺序?


解决方案


是的,排序是 array data structures 的基本属性,因此当将切片和数组与 JSON 进行解组/编组时,go 会隐式维护它。

但请注意,在 JSON 中称为“对象”的 Associative arrays"Map types" in go(或简称为“映射”)是“一组无序的元素”,因此在 JSON 中取消/编组它们并不 保留键/值对的顺序。

最后,根据 json.Marshal(...),将结构编组到 JSON 对象(也称为关联数组)确实会根据结构字段的顺序维护键的顺序。

到这里,我们也就讲完了《json.Unmarshal是否保留JSON数组的顺序》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注golang学习网公众号,带你了解更多关于的知识点!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>