我希望编写一个提供JSON对象列表的Web服务.返回以下内容是有效的JSON:
[
{"keyA1":"valA", "keyB1":"valB"}
,{"keyA2":"valA", "keyB2":"valB"}
,{"keyA3":"valA", "keyB3":"valB"}
]
Run Code Online (Sandbox Code Playgroud)
或者是"正确"的方式将它放在一个单独的对象中返回:
{"elements":[
{"keyA1":"valA", "keyB1":"valB"}
,{"keyA2":"valA", "keyB2":"valB"}
,{"keyA3":"valA", "keyB3":"valB"}
]}
Run Code Online (Sandbox Code Playgroud)
Chr*_*yes 45
两种形式都有效.但是,对于API,我建议使用第二种形式.原因是它为您提供了扩展API的途径.
例如,如果您有一个getUsersInGroup返回用户对象数组的API ,并且稍后您决定要包含一些关于返回用户的聚合统计信息,那么在不破坏现有客户端的情况下(或包括每个用户对象中有大量冗余数据).如果您使用对象,则只需向该对象添加另一个字段,该字段在先前版本的API上被客户端静默忽略.
简而言之,尽可能避免API中的顶级基元,并且您将来会发现它更容易扩展.