我想遍历一个我从var jsonObj json_encode( <?php echo $php_array ?>);
得到的json对象。在我看来,这与大多数人的格式不同。例如,w3schools将其显示为json对象:
{
"employees": [
{ "firstName":"John" , "lastName":"Doe" },
{ "firstName":"Anna" , "lastName":"Smith" },
{ "firstName":"Peter" , "lastName":"Jones" }
]
}
我似乎有完全的结构:
{"PINEFOREST JEWELRY":
["3034.25","2002-01-02"],
"AMBERS DESIGN":
["2034.75","2002-01-02"],
"ELEGANT JEWELERS":
["206","2002-01-02"],
"SALEM'S JEWELERS":
["406","2002-01-02"]}
我可以迭代这个吗?
答案 0 :(得分:0)
您可以将for in
与嵌套for
for (var key in data) {
for (var i = 0; i < data[key].length; i++) {
console.log(data[key][i]);
}
}
答案 1 :(得分:0)
您可以使用for循环迭代对象的直接属性,如下所示:
var val;
for(var key in obj) {
if(obj.hasOwnProperty(key)){
val = obj[key];
console.log(val);
}
}
答案 2 :(得分:0)
是的,你可以通过它来进行迭代,因为它是有效的json。
首先,您需要将json转换为javascript可以迭代的内容,您可以使用JSON.parse()
(MDN)执行此操作。我假设&#39; json&#39;你在上面描述的是一串&#39; json&#39;这样:
var jewellery = JSON.parse(myJson); // replace myJson with whatever variable is holding your json
此时你有一个object
,你可以将其删除。最简单的方法之一是使用Object.keys()
(MDN)和Array.forEach()
(MDN),如下所示:
Object.keys(jewellery).forEach(function (key) {
console.log(key); // would log 'PINEFOREST JEWELRY' the first time
jewellery[key].forEach(function (price) {
console.log(price); // Should log '3034.25' the first time
}
});
尝试一下,否则您仍然可以使用其他人提交的其他解决方案,无论是或者可以使用。这就是我要做的事情!!