目前我们有一个AJAX驱动的网站,它以下列格式返回JSON响应:[{"n":"bob"}, {"n":"jim"}, ..., {"n":"alex"}]
。基本上是一组json对象。
但是我们正在考虑如此构造它:[["bob"], ["jim"], ..., ["alex"]]
。基本上是一个数组数组。
明显的区别在于,我们不是通过其属性访问数据,而是通过假定的索引位置(即array [0] == name)访问它,但除此之外我很好奇每个的优点/缺点是什么。有趣的因素:客户端的性能(构建数据结构和检索其值),带宽(显然是在较大的数据集上或较慢的互联网连接,比如移动设备),设计模式/最佳实践,其他人如何设计他们的响应,等...
答案 0 :(得分:1)
使用对象数组格式时,您可以为每个项目加载更多数据,而不只是n
。
[{
'name' : 'John',
//more data about john
},{
'name' : 'Joe',
//more data about joe
}]
//myArray[0].name = John
使用数组时,假设数据返回属于同一种类。
['John','Joe'...] //all names
//myArray[0] = John
但这一切都归结为你如何解析数据。
构建这样的数据:
[["bob"], ["jim"], ..., ["alex"]]
完全错了。为什么要将名称放在一个数组中?什么是第二级?
答案 1 :(得分:0)
数组方法将阻止您使用有意义的索引名称,因此我将使用JSON对象。您还会发现大多数编程语言都有很好的库来创建JSON输出。
除非您处理非常大的数据集,否则我认为阵列方法不会提供任何明显的性能优势。