我希望编写一个提供 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"}
]}
最佳答案
两种形式都有效。但是,对于 API,我会推荐第二种形式。原因是它为您提供了扩展 API 的途径。
例如,如果您有一个返回用户对象数组的 API getUsersInGroup
,然后您决定要包含一些关于返回的用户的汇总统计信息,那么这并不容易在不破坏现有客户端(或在每个用户对象中包含大量冗余数据)的情况下做到这一点的方法。如果您使用一个对象,您只需向该对象添加另一个字段,该字段在以前版本的 API 上会被客户端静默忽略。
简而言之,在您的 API 中尽可能避免使用顶级原语,您会发现它在未来更容易扩展。
关于javascript - 列表/数组是有效的 JSON 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19623339/