这是我简化的JSON文件内容:
var data = response.data;
$log.log(data); //Object
$log.log(data.Table1); //Array
$log.log(data.Table1[0]); //Object
$log.log(data.Table1[1].h1); //587
这是我的控制台在Angular $ http调用之后输出的内容
for(var a in data){ //this one correctly loops 2 times
for(var d in a){ //I have problem with this one
$log.log(d.h1);
}
}
我尝试了以下代码但未能获得该值。请帮忙。
private String capitalize(String name) {
String s1 = name.substring(0, 1).toUpperCase();
String nameCapitalized = s1 + name.substring(1).toLowerCase();
return nameCapitalized;
}
答案 0 :(得分:1)
您可以通过以下方式执行此操作: -
$data = file_get_contents('your json data is here.json');
$content = json_decode($data);
foreach($content as $row){
foreach($row as $data_array){
foreach($data_array as $item){
echo 'H1 data item - '.$item->h1;
echo ' H2 data item - '.$item->h2.'<br>';
}
}
}
答案 1 :(得分:0)
它应该使用data[a]
来获取内部对象。基本上你会通过key
for(var a in data){
for(var d in data[a]){
$log.log(d.h1);
}
}
答案 2 :(得分:0)
for (var a in data)
a是关键,因此Table1
或Table2
。实际值在数据[a]中。
此外,据我所知,你不能用for (var i in xx)
方法遍历数组
for(var a in data){ //this one correctly loops 2 times
for(var d = 0; d < data[a].length; d++){
$log.log(data[a][d].h1);
}
}
答案 3 :(得分:0)
首先,您遇到嵌套问题。您的结构是数据 - &gt;数组 - &gt;表 - &gt; H1。其次,按键进行迭代。因此,构造中的变量(myArr中的var i)是指元素键,而不是数组中的对象。因此,您案例中的整个结构可能如下所示
for(var a in data.array){
for(var d in data.array[a]){
console.log(data.array[a][d].h1);
}
}
P.S。看看map()功能