Javascript 如何迭代此json对象(不使用jquery)
我想遍历从Javascript 如何迭代此json对象(不使用jquery),javascript,json,Javascript,Json,我想遍历从var jsonObj json_encode()获得的json对象。在我看来,这与大多数人所拥有的格式不同。例如,W3S将其显示为json对象: { "employees": [ { "firstName":"John" , "lastName":"Doe" }, { "firstName":"Anna" , "lastName":"Smith" }, { "firstName":"Peter" , "lastName":"
var jsonObj json_encode()获得的json对象代码>。在我看来,这与大多数人所拥有的格式不同。例如,W3S将其显示为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"]}
我能重复这个吗?您可以使用for in
和嵌套的for
for (var key in data) {
for (var i = 0; i < data[key].length; i++) {
console.log(data[key][i]);
}
}
for(变量输入数据){
对于(var i=0;i
您可以使用for循环遍历对象的直接属性,如下所示:
var val;
for(var key in obj) {
if(obj.hasOwnProperty(key)){
val = obj[key];
console.log(val);
}
}
是的,因为它是有效的json,所以您可以通过它进行验证
首先,您需要将json转换为javascript可以覆盖的内容,这可以通过json.parse()
()来完成。我假设您上面描述的“json”是一个“json”字符串,因此:
var jewellery = JSON.parse(myJson); // replace myJson with whatever variable is holding your json
此时,您有一个对象
,可以对其进行编辑。最简单的方法之一是使用Object.keys()
()和Array.forEach()
()如下:
试一试,否则你仍然可以使用其他人提交的其他解决方案,或者是可行的。这就是我要做的 看到这个答案:因为它是JSON,所以在这个例子中不需要使用hasOwnProperty
。这会得到数字,我怎么也能得到名称呢?名称存储在key
变量@bsapakaDocument.write(sales\u new\u accounts[key][I]
只给我数字,而Document.write(sales\u new\u accounts[key]
给了我undefined@bsapaka--你必须在循环中使用它-键
在循环外什么都没有是的,我确实在for循环中使用过它。注意forEach函数,因为它在某些浏览器中不受支持,如IE8()这可能是一个问题是的,这就是为什么我说尝试一下,如果它不起作用,那么使用其他人提交的解决方案:)
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
}
});