是否保留了 JSON 列表中元素的顺序?

2022-08-29 23:58:46

我注意到 JSON 对象中元素的顺序不是原始顺序。

JSON 列表的元素呢?他们的秩序是否得到维持?


答案 1

是的,将保留 JSON 数组中元素的顺序。来自 RFC 7159 -The JavaScript Object Notation (JSON) Data Interchange Format (强调我的):

对象是零个或多个名称/值对的无序集合,其中名称是字符串,值是字符串、数字、布尔值、null、对象或数组。

数组是零个或多个值的有序序列。

术语“对象”和“数组”来自JavaScript的约定。

某些实现也确实保留了 JSON 对象的顺序,但这并不能保证。


答案 2

数组 () 中元素的顺序保持不变。元素(name:value pairs)在“对象”()中的顺序不是,它们通常是“混乱的”,如果不是JSON格式化程序/解析器本身,而是由用作内部表示的语言特定对象(字典,NSDictionary,Hashtable等)来“混乱”。[]{}