问题在于决定以下符号之间的权衡:
基于 JSON 的:
"users": {
"id1": {
"id": "id1",
"firstname": "firstname1",
"lastname": "lastname1"
},
"id2": {
"id": "id2",
"firstaame": "firstname2",
"lastname": "lastname2"
}
}
基于数组:
users: [
{
"id": "id",
"key2": "value2",
"key3": "value3"
},
{
"id": "id",
"key2": "value2",
"key3": "value3"
}
]
关于 this在同一个问题上发帖,我决定(在前端)使用 JSON 对象表示法而不是对象数组,因为它符合我的要求、更好的性能和更少的浏览器代码。
但问题是列表本身不是静态的。我的意思是正在生成列表,即从数据库(NoSQL)获取/存储,并通过服务器上的 Java API 为新条目创建。我无法决定我应该在后端使用哪种表示法(最终也会影响 UI)。
感谢您对性能、可维护性或可扩展性提出任何想法/建议。
最佳答案
这是一个基于总体意见的问题。可能还有很多其他的点,但我可以指出如下。
基于 JSON 的方法:
如果我没记错的话,这将在服务器端使用 Map
来实现。
优点:在JavaScript中可以直接使用users.id1、users.id2,即不需要迭代
缺点:在客户端,您需要一些方式来要求 JSON 中存在的 id,即硬编码或使用一些动态方法来告诉您 JSON 中存在哪个 id。
基于数组的方法:如果我没记错,那么这将在服务器端使用 Array
/List
来实现。
优势:
缺点:如果要获取单个 id,则需要遍历数组。
通常我们不会在客户端发送太多信息,因此基于数组的方法不会产生任何问题。如果您想要基于 id 的方法,在双方(服务器和客户端)都可以将数组转换为 map 。
https://stackoverflow.com/questions/31469441/
相关文章:
java - jackson JSON : get node name from json-tree
javascript - 如何使用 JSON 数据填充选择框的选项?
ios - 如何在 Swift 中组合两个 Dictionary 实例?
json - Postgres JSON 数据类型 Rails 查询
javascript - 从名称、值 JSON 数组中获取一项
javascript - 是否有任何将 json 转换为 url 参数的 native 函数?
c# - asp.net core 1.0 web api使用camelcase