小编典典

列表/数组是有效的JSON吗?

json

我希望编写一个提供JSON对象列表的Web服务。返回以下内容的JSON是否有效:

[
  {"keyA1":"valA", "keyB1":"valB"}
 ,{"keyA2":"valA", "keyB2":"valB"}
 ,{"keyA3":"valA", "keyB3":"valB"}
]

还是将其放在单个对象中以返回的“正确”方法:

{"elements":[
   {"keyA1":"valA", "keyB1":"valB"}
  ,{"keyA2":"valA", "keyB2":"valB"}
  ,{"keyA3":"valA", "keyB3":"valB"}
]}

阅读 403

收藏
2020-07-27

共1个答案

小编典典

两种形式均有效。但是,对于API,我建议使用第二种形式。原因是它为您提供扩展API的途径。

例如,如果您有一个getUsersInGroup返回用户对象数组的API
,后来又决定要包含一些有关返回用户的汇总统计信息,那么没有不破坏现有客户端(或包括每个用户对象中有很多冗余数据)。如果使用对象,则只需向该对象添加另一个字段,客户端在以前版本的API上会默默地忽略该字段。

简而言之,请尽量避免在API中使用顶级原语,并且将来会发现它更容易扩展。

2020-07-27