【发布时间】:2015-10-06 19:09:17
【问题描述】:
问题在于决定以下符号之间的权衡:
基于 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 的情况下,您将值作为 id,在基于数组的情况下,您将其作为数组。你有什么要求?
-
在 Javascript 中,我可以使用
id(对于 JSON)获取对象,但在数组的情况下,我必须遍历整个列表并匹配每个对象的id属性,这在大数据集的情况下可能成为瓶颈。所以 JSON 在浏览器中对我来说工作得很好,但我不确定用 Java 创建相同的结构会不会有任何性能问题。 -
您的 JSON 方法将如何支持多个用户条目?
-
@NamanGala:请查看更新后的 JSON 示例。
-
请注意,JSON 总是有一个根元素,它可以是对象
{}或数组[]。所以术语Json basedvsArray based实际上应该是(Json)-Object basedvs.(Json)-Array based
标签: java arrays json performance maintainability