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

标签 javascript 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"}
]}

最佳答案

两种形式都有效。但是,对于 API,我会推荐第二种形式。原因是它为您提供了扩展 API 的途径。

例如,如果您有一个返回用户对象数组的 API getUsersInGroup,然后您决定要包含一些关于返回的用户的汇总统计信息,那么这并不容易在不破坏现有客户端(或在每个用户对象中包含大量冗余数据)的情况下做到这一点的方法。如果您使用一个对象,您只需向该对象添加另一个字段,该字段在以前版本的 API 上会被客户端静默忽略。

简而言之,在您的 API 中尽可能避免使用顶级原语,您会发现它在未来更容易扩展。

关于javascript - 列表/数组是有效的 JSON 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19623339/

相关文章:

javascript - jquery ui datepicker 不适用于动态 html

javascript - 识别句子中的回文

javascript - 长按 React Native 持续增加计数器

php - 从 PHP 查询获取特定格式的 JSON

android - 如何在android中解析以下格式的json响应

javascript - 如何给JQplot饼图添加爆炸效果?

javascript - 使用 JQuery $.AJAX 调用调用 ASP.NET 函数

android - 在android上存储JSON : sqlite vs SharedPreference

json - 将 Json 响应中的对象列表映射到 flutter 中的列表

PHP JSON 重定向