[英]converting JSON array in javascript object
我正在尝试从myJson
数组中打印classkey
和status
。 我已将myJSON
转换为对象。 但我无法打印classkey
和status
。 在这段代码中, myJSON
是自动生成的, godaddy.com
中也有一个点。
<html>
<head>
<script>
var myJSON = '{"godaddy.com":{"classkey":"domcno","status":"available"}}';
var myObj = JSON.parse(myJSON);
document.write(myObj.hostdady.com[1].classkey);
</script>
</head>
<body>
<p></p>
</body>
</html>
使用方括号表示法来转义无效的变量名
document.write(myObj['godaddy.com'].classkey)
您正在正确解析字符串,但是在打印所选属性时犯了错误。
当你去你选择了一个不存在的属性选定的属性,写hostdady.com
而不是godaddy.com
document.write(myObj.hostdady.com[1].classkey);
但是,即使您将其更改为myObj.godaddy.com[1].classkey
您仍然会因为.
在godaddy
和com
之间。 浏览器会将其解释为godaddy
的com
属性。
相反,要访问 Godaddy.com 属性,您需要编写:
myObj['godaddy.com']
而且,该属性不包含数组,因此您不需要[0]
而是只需像任何其他属性一样查找 classkey:
document.write(myObj["godaddy.com"].classkey);
<html> <head> <script> var myJSON = '{"godaddy.com":{"classkey":"domcno","status":"available"}}'; var myObj = JSON.parse(myJSON); document.write(myObj["godaddy.com"].classkey); </script> </head> <body> <p></p> </body> </html>
var myJSON = '{"godaddy.com":{"classkey":"domcno","status":"available"}}'; var myObj =JSON.parse(myJSON); var classKey = myObj["godaddy.com"].classkey ; document.getElementById("dynamic").innerHTML = classKey;
<p id="dynamic"></p>
如需更多帮助JSON.parse
一些观察:
myJSON
不是JSON object
。 它是一个JSON String.
JSON.parse
将JSON String
转换为JSON Object
。工作演示:
var myJSON = '{"godaddy.com":{"classkey":"domcno","status":"available"}}'; var myObj = JSON.parse(myJSON); for(var i in myObj) { document.getElementById("classkey").innerHTML = myObj[i].classkey; document.getElementById("status").innerHTML = myObj[i].status; }
<p id="classkey"></p> <p id="status"></p>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.