此问题已在此处找到答案:
javascript属性访问:点符号与括号((15个答案)
五小时前关门了。
我是开发web应用程序的新手,很难使用javascript将json数据发送到html。
假设我来自api的json数据如下所示。
{"Tool1_qty": 1, "Tool1_loc": "aaa", "Tool1_note": "aaa",
"Tool2_qty": 2, "Tool2_loc": "bbb", "Tool2_note": "bbb",
"Tool3_qty": 3, "Tool3_loc": "ccc", "Tool3_note": "ccc",
"Tool4_qty": 4, "Tool4_loc": "ddd", "Tool4_note": "ddd"}
有没有办法像下面这样获取json值?该代码类似于伪代码。
<script>
async function load(){
let link = 'https://abcd.com/get';
let data = await fetch(link);
let obj = await data.json();
var temp = "";
for(var b=1; b<3; b++){
temp += "<tr>";
temp += "<td>"obj.Tool[b]_qty"</td>";
temp += "<td>"obj.Tool[b]_loc"</td>";
temp += "<td>"obj.Tool[b]_note"</td>";
}
document.getElementByID("Where_it_displayed").innerHTML = temp;
}
</script>
结果是这样的。
1 aaa aaa
2 bbb bbb
3 ccc ccc
4 ddd ddd
你有没有什么想法,我可以把它做成这样的结果?
非常感谢。
我更新了我的代码示例。我删除了语句的循环。
我意识到这是不必要的。
5条答案
按热度按时间bsxbgnwa1#
您没有正确连接字符串。。。应该是这样的
cwtwac6a2#
无法使用访问对象节点
obj.Tool[b]_qty
相反,您必须使用obj['Tool' + b + '_qty']
. 也可以使用下面提到的语法进行访问。oxiaedzo3#
对象键名称中需要变量。根据您的示例,一种可能的方法可能是:
此处演示:https://jsfiddle.net/rozklad/p3sw89hb/6/
u0sqgete4#
这是你的解决方案
w1jd8yoj5#
你需要括号符号
但根据你的目标,我们可以简化
如果对象是数组: