json.Unmarshal是否保留JSON数组的顺序
小伙伴们对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数组的顺序》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注编程网公众号,带你了解更多关于的知识点!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341