这个问题是决定以下符号表示法之间的权衡:
基于 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"
}
]
关于此帖的同一问题,我已经决定(在前端)使用JSON对象表示法而不是对象数组,因为它符合我的要求,提供更好的性能,并且在浏览器中生成较少的代码。
但问题在于列表本身并不是静态的。我的意思是,列表是通过Java API从数据库(NoSQL)获取/存储并为新条目创建的。我无法决定应该在后端使用哪种表示法(最终也会影响用户界面)。
欢迎对性能、可维护性或可扩展性提出任何想法/建议。
id
(对于JSON)获取对象,但是在数组的情况下,我必须遍历整个列表并匹配每个对象的id
属性,这可能会成为大数据集情况下的瓶颈。因此,JSON在浏览器中很好用,但我不确定Java创建相同结构是否会有任何性能问题。 - me_digvijay{}
或数组[]
。因此,“基于Json”的术语与“基于数组”的术语实际上应该是“(Json)-基于对象”与“(Json)-基于数组”。 - maja