我们正在开发一个 JSON API 来向少数客户端(即 iOS 和 Android 应用程序)提供数据。
现在,不断出现的问题是:我们从什么角度构建 JSON?
1)“以客户为中心”:
JSON 键以应用程序中匹配的 UI 元素命名。例如:
{
"label" : "This is a headline of a news article",
"textField" : "This is the text of a news article",
}
临:
无需发布应用程序的新版本即可更改应用程序的内容。如果你想改变 UI 标签的内容,它看起来像这样:
{
"label" : "This is a short abstract of a news article"
}
此外,应该可以在客户端只有一个数据模型与一个视图相关。
反对:
在服务器端产生混乱,因为必须有从数据对象名称到 UI 元素名称的转换
2)“以数据为中心”
JSON 键以传递数据的数据实体命名
{
"articleHeadline" : "This is a headline of a news article",
"articleText" : "This is the text of a news article"
}
临:
JSON API 说明了它的作用。密钥名称揭示了密钥的内容。
反对:
在客户端产生混乱,因为必须有从数据对象名称到 UI 元素名称的转换
内容的更改也会更改 JSON 键的名称。
{
"articleAbstract" : "This is a short abstract of a news article"
}
这还需要对所有使用 API 的应用程序进行代码更改和部署。