这是 ARRAY1
var array_1 = ["51b59c162de88", [
["parties", 0.0, 0.011]
]]
["51b59c1b4f52f", [
["star-speak", 0.0, 0.006],
["parties", 0.0, 0.011]
]]
这是 ARRAY2
var array_2 = [{
key: "51b59c162de88",
values: ["parties", 0.0, 0.011]]
},
{
key: "51b59c162de94",
values: [
["star-speak", 0.0, 0.006],
["parties", 0.0, 0.011]
]
}, ];
阵列1和阵列2之间的确切区别是什么。
如何访问他们的数据?
我是json的新手!!!!
这是我原来的json文件的样子!!!! http://jsfiddle.net/rjZxJ/
答案 0 :(得分:1)
如果我们假设已解析的JSON,我们有:
var a = [
["51b59c1bbae1c", [["parties", 0.0, 0.011]]],
["51b59c1b4f52f", [["star-speak", 0.0, 0.006], ["parties", 0.0, 0.011]]],
["51b59c2635997", [["fashion", 0.002, 0.006], ["parties", 0.0037, 0.011], ["royal-challenge", 0.002, 0.006]]],
["51b59c157b564", [["parties", 0.0, 0.028], ["indulge", 0.0, 0.006], ["live-responsibly", 0.0, 0.006], ["fashion", 0.0, 0.006]]]
]
然后你可以迭代元素:
a.forEach( function( element ) {
var id = element[0];
var items = element[1];
items.forEach( function item ) {
var name = item[0];
var float1 = item[1];
var float2 = item[2];
});
});
例如,如何将这些文件打印到文档:http://jsfiddle.net/9VyGM/
如果未压缩键值对象,则避免键值对象会大大减少JSON大小,因为键总是在整个地方重复。
在JSON中考虑类似5个3D点的数组:
[
{"x": 0.5, "y": 0.5, "z": 0.5},
{"x": 0.5, "y": 0.5, "z": 0.5},
{"x": 0.5, "y": 0.5, "z": 0.5},
{"x": 0.5, "y": 0.5, "z": 0.5},
{"x": 0.5, "y": 0.5, "z": 0.5}
]
比较大小,如果您只是使用数组并在代码中达成协议 代表什么:
//The code will know that x is 0th element, y is 1th element
//and z is 2th element
[
[0.5, 0.5, 0.5],
[0.5, 0.5, 0.5],
[0.5, 0.5, 0.5],
[0.5, 0.5, 0.5],
[0.5, 0.5, 0.5]
]
即使使用x
这样的短按键,你也可以看到它只有54%的大小。对于更长的按键,情况要糟糕得多。
答案 1 :(得分:0)
你的两个数组都有拼写错误并会产生错误!
Array1当前是一个(损坏的)字符串和数组数组,遵循以下模式:[str1, [[str2, str3, str4]], [str5, [str6, str7, str8], [str9, str10, str11]]]
。
Array2是一个对象数组:[obj1, obj2]
。
我怀疑你真正想要的是:
var array_1 = [
[
"51b59c162de88",
["parties", 0.0, 0.011]],
],
[
"51b59c1b4f52f",
["star-speak", 0.0, 0.006],
["parties", 0.0, 0.011]
]
];
- 这是一个数组数组,并且:
var array_2 = [
{
key: "51b59c162de88",
values: [["parties", 0.0, 0.011]]
},
{
key: "51b59c162de94",
values: [["star-speak", 0.0, 0.006], ["parties", 0.0, 0.011]]]
}
];
- 这是一个包含键字符串和值数组的对象数组。