将多维数组正确转换为JSON(并返回)

时间:2016-11-27 20:40:28

标签: json

是否有将多维数组转换为JSON并返回的标准方法?这取决于语言和字节顺序与行/列/页面等之间的关系吗?我在Matlab工作。在Matlab中,一个整数数组,其值为1到10,形状为5 x 2,将具有以下二维布局:

1 6
2 7
3 8
4 9
5 10

而不是:

1 2
3 4
5 6
7 8
9 10

问题是,如果我将2-D数组转换为JSON字符串,我应该得到:
[[1,2,3,4,5],[6,7,8,9,10]]

[[1,6],[2,7],[3,8],[4,9],[5,10]]

我的偏好是第一种情况,因为它在内存访问方面是顺序的。

那么明确的问题是,编写n-d数组的方式是什么?

  1. 按内存 - 最内层应该在内存中顺序
  2. 从高到低的维度 - 最里面是最低维度(在这种情况下匹配Matlab的内存)
  3. 从低到高的尺寸 - 最里面是最高尺寸

1 个答案:

答案 0 :(得分:0)

如果你说你有一个5x2数组,在JS中你可能意味着你有一个长度为5的数组,每个元素都是一个长度为2的数组。所以你得到的“布局”是:

[ [a00, a01],
  [a10, a11],
  [a20, a21],
  [a30, a31],
  [a40, a41] ]

根据1..10进行解码完全取决于你。

  

一个整数数组,其值为1到10,形状为5 x 2

没有一种正确的方法可以将值1..10放入数组5x2中。因此[[1,6],[2,7],[3,8],[4,9],[5,10]][[1,2],[3,4],[5,6],[7,8],[9,10]]一样好。