繁体   English   中英

在javascript对象中转换JSON数组

[英]converting JSON array in javascript object

我正在尝试从myJson数组中打印classkeystatus 我已将myJSON转换为对象。 但我无法打印classkeystatus 在这段代码中, 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您仍然会因为. godaddycom之间。 浏览器会将其解释为godaddycom属性。

相反,要访问 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>

JSON.parse() 方法解析 JSON 字符串,构造字符串描述的 JavaScript 值或对象。 可以提供一个可选的 reviver 函数来在结果对象返回之前对其执行转换。

 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.parseJSON 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM