json array v json对象 - 优点缺点

时间:2012-04-12 05:03:07

标签: javascript html json

目前我们有一个AJAX驱动的网站,它以下列格式返回JSON响应:[{"n":"bob"}, {"n":"jim"}, ..., {"n":"alex"}]。基本上是一组json对象。

但是我们正在考虑如此构造它:[["bob"], ["jim"], ..., ["alex"]]。基本上是一个数组数组。

明显的区别在于,我们不是通过其属性访问数据,而是通过假定的索引位置(即array [0] == name)访问它,但除此之外我很好奇每个的优点/缺点是什么。有趣的因素:客户端的性能(构建数据结构和检索其值),带宽(显然是在较大的数据集上或较慢的互联网连接,比如移动设备),设计模式/最佳实践,其他人如何设计他们的响应,等...

2 个答案:

答案 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输出。

除非您处理非常大的数据集,否则我认为阵列方法不会提供任何明显的性能优势。