0

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

但是,我们正在考虑像这样构建它:[["bob"], ["jim"], ..., ["alex"]]. 基本上是一个数组数组。

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

4

2 回答 2

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"]]

是完全错误的。为什么将名称放在一个数组中,在一个名称数组中?第二层有什么用?

于 2012-04-12T05:16:48.587 回答
0

数组方法将阻止您使用有意义的索引名称,因此我将使用 JSON 对象。您还会发现大多数编程语言都有用于创建 JSON 输出的优秀库。

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

于 2012-04-12T05:15:16.790 回答