Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
属性顺序的JSON REST API响应约定_Json_Rest - Fatal编程技术网

属性顺序的JSON REST API响应约定

属性顺序的JSON REST API响应约定,json,rest,Json,Rest,JSON响应中属性的显示顺序是否有约定 例如,给定响应: { "name": "Someone", "age": 22, "country": "Some Country" } 您可以看到属性没有以任何特定方式排序。我想到的一个顺序可能是按字母顺序排列的: { "age": 22, "country": "Some Country", "name": "Someone" } 我想保持API响应的一致性,那么这方面有什么约定吗?JSON属性的顺序应该无关紧要 如果您认为

JSON响应中属性的显示顺序是否有约定

例如,给定响应:

{
  "name": "Someone",
  "age": 22,
  "country": "Some Country"
}
您可以看到属性没有以任何特定方式排序。我想到的一个顺序可能是按字母顺序排列的:

{
  "age": 22,
  "country": "Some Country",
  "name": "Someone"
}

我想保持API响应的一致性,那么这方面有什么约定吗?

JSON属性的顺序应该无关紧要

如果您认为人类更容易阅读JSON文档,那么可以使用字母顺序或将类似的属性放在一起。但是对于一台机器来说没有区别


是定义JSON格式的文档之一。查看is对对象的说明(突出显示是我的):

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

但是,数组元素的顺序很重要(突出显示也是我的):

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


这并不重要,因为您正在以对象键的形式访问它们:let value=objectname.keyname 如果您正在循环(Object.keys(objectname).forEach((item)=>{…),则顺序与crossbrowser()不一致。因此,在调试(console.log order)时,除了逻辑顺序之外,没有理由关心顺序