coo*_*guy 4 javascript arrays json multidimensional-array
我有一个像这样的多维数组
Array
(
[1] => Array
(
[product_id] => 1
[product_model] => HFJ5G1.5
[product_type] => plat
[product_return] => graviteits
)
[2] => Array
(
[product_id] => 2
[product_model] => HHJ5S2.5
[product_type] => holle plunjer
[product_return] => veer
)
); //Only 2 are shown here i have around 110 values
Run Code Online (Sandbox Code Playgroud)
我将此编码为json
json_encode($array);
Run Code Online (Sandbox Code Playgroud)
结果jsonString是这样的
{"1":{"product_id":"1","product_model":"HFJ5G1.5","product_type":"plat","product_return":"graviteits"},"2":{"product_id":"2","product_model":"HHJ5S2.5","product_type":"holle plunjer","product_return":"veer"}}
Run Code Online (Sandbox Code Playgroud)
当我做警报(jsonString.length); 结果是4但我希望结果是凌晨2点我做错了什么.
对象文字没有 .length
您可以使用此方法计算属性:
var count = 0;
for (i in jsonString) {
if (jsonString.hasOwnProperty(i)) {
count++;
}
}
alert(count); //count shall have length for you
Run Code Online (Sandbox Code Playgroud)
要么
由于你的数组没有数字索引(从0开始),它假设你使用了一个关联数组,因此它们转储了一个项目对象而不是一个项目数组.
要将它们转换为数字索引,您所要做的就是在将它们编码为json之前使用array_values:
json_encode(array_values($array));
Run Code Online (Sandbox Code Playgroud)
然后json将是一个数组.. 然后你可以使用长度
由此:
Array(
[1] => Array(
[product_id] => 1
[product_model] => HFJ5G1.5
[product_type] => plat
[product_return] => graviteits
)
[2] => Array(
[product_id] => 2
[product_model] => HHJ5S2.5
[product_type] => holle plunjer
[product_return] => veer
)
);
Run Code Online (Sandbox Code Playgroud)
使用array_values()成为这个,记下每个项目的索引:
Array(
[0] => Array(
[product_id] => 1
[product_model] => HFJ5G1.5
[product_type] => plat
[product_return] => graviteits
)
[1] => Array(
[product_id] => 2
[product_model] => HHJ5S2.5
[product_type] => holle plunjer
[product_return] => veer
)
);
Run Code Online (Sandbox Code Playgroud)
然后编码为json并存储到jsonString:
jsonString = [
{
"product_id": "1",
"product_model": "HFJ5G1.5",
"product_type": "plat",
"product_return": "graviteits"
},
{
"product_id": "2",
"product_model": "HHJ5S2.5",
"product_type": "holle plunjer",
"product_return": "veer"
}
];
alert(jsonString.length);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
33045 次 |
| 最近记录: |