通过 JSON 树获取值,然后打印到控制台.log
going through JSON tree to get values then print to console.log
我有一些示例 JSON...
{
"colors": {
"1": {
"name": "red",
"rgb_value": "255,0,0"
},
"2": {
"name": "green",
"rgb_value": "0,255,0"
},
"3": {
"name": "blue",
"rgb_value": "0,0,255"
}
}
}
问题:我想知道如何进入"颜色"然后检查每个对象("1"、"2"、"3"......等)并获取每个"名称"的值(我想使用 console.log 将每个打印到控制台)。我该怎么做?
Javascript/jQuery解决方案都受到赞赏。
请注意,我无法更改 JSON,因为我是从某人的 API 中获取它并且无权重新构建他们的 JSON,因此如果您认为 JSON 不正确,请忽略它,因为我别无他法。
您可以使用
$.each()
循环访问对象的colors
并获取name
值:
$.each(obj.colors, function(i, val) {
console.log(obj.colors[i].name);
});
小提琴演示
假设您已经解析了 JSON,一个简单的循环就足够了:
for (var k in obj.colors) {
console.log(obj.colors[k].name);
}
小提琴
JS中的另一种解决方案。 Object.keys(obj.colors)
返回["1","2","3"]
,forEach()
循环遍历obj.colors["1"]
、obj.colors["2"]
和obj.colors["3"]
记录每个name
的值。
Object.keys(obj.colors).forEach(function (key) {
console.log(obj.colors[key].name);
});
我认为这会对你有所帮助。 假设您的对象名称是 数据
var data = {
"colors": {
"1": {
"name": "red",
"rgb_value": "255,0,0"
},
"2": {
"name": "green",
"rgb_value": "0,255,0"
},
"3": {
"name": "blue",
"rgb_value": "0,0,255"
}
}
}
for (key in data["colors"]) {
console.log(data["colors"][key]["name"])
}
这次它现在可以工作了,您可以在JavaScript控制台中复制并粘贴并查看结果
相关文章:
- 按压“;输入“;将值打印到控制台日志
- 将数组的拼接分配给自身时,Javascript控制台打印不起作用
- 打印javascript控制台的堆栈跟踪
- 打印到控制台时为NaN,但typeof为数字jquery
- 为什么控制台.log(true,' ')打印真“ ”
- system.err风格的控制台以javascript打印
- 如何做if/else语句并使用控制台.log打印出来
- 谷歌浏览器控制台,打印图像
- Grails:多个加载ajax调用,但只有一个打印到控制台
- page.evaluate() 未打印控制台消息
- 它将打印控制台.log(1+ + “2”)
- Selenium NodeJS将cookie打印到控制台
- 使用javascript在HTML的输出窗口中打印控制台消息
- 如何将52个随机生成的数字打印到控制台
- jQuery显示函数打印到控制台
- 如何在控制台.log中打印 JSON 数据
- js 如何将对象名称打印到控制台
- 打印机.js未打印到控制台
- Node.js打印控制台输出两次
- 否则,如果不打印控制台值