JSON 对象
对象语法
{ "name": "mifengjc", "alexa": 10000, "site": null }
JSON 对象使用在大括号({})中书写。
对象可以包含多个 key/value(键/值)对。
key 必须是字符串,value 可以是合法的 JSON 数据类型(字符串, 数字, 对象, 数组, 布尔值或 null)。
key 和 value 中使用冒号(:)分割。
每个 key/value 对使用逗号(,)分割。
访问对象值
你可以使用点号(.)来访问对象的值:
<p>你可以使用点号(.)来访问 JSON 对象的值:</p> <p id="demo"></p> <script> var myObj, x; myObj = { "name": "mifengjc", "alexa": 10000, "site": null }; x = myObj.name; document.getElementById("demo").innerHTML = x; </script>
你也可以使用中括号([])来访问对象的值:
<p>你也可以使用中括号([])来访问 JOSN 对象的值:</p> <p id="demo"></p> <script> var myObj, x; myObj = myObj = { "name": "mifengjc", "alexa": 10000, "site": null }; x = myObj["name"]; document.getElementById("demo").innerHTML = x; </script>
循环对象
你可以使用 for-in 来循环对象的属性:
<p>使用 for-in 来循环对象的属性:</p> <p id="demo"></p> <script> var myObj = { "name": "mifengjc", "alexa": 10000, "site": null }; for (x in myObj) { document.getElementById("demo").innerHTML += x + "<br>"; } </script>
在 for-in 循环对象的属性时,使用中括号([])来访问属性的值:
<p>在 for-in 循环对象的属性时,使用中括号([])来访问属性的值:</p> <p id="demo"></p> <script> var myObj = { "name": "mifengjc", "alexa": 10000, "site": null }; for (x in myObj) { document.getElementById("demo").innerHTML += myObj[x] + "<br>"; } </script>
嵌套 JSON 对象
JSON 对象中可以包含另外一个 JSON 对象:
myObj = { "name": "mifengjc", "alexa": 10000, "sites": { "site1": "www.mifengjc.com", "site2": "m.mifengjc.com", "site3": "c.mifengjc.com" } }
你可以使用点号(.)或者中括号([])来访问嵌套的 JSON 对象。
<p>访问 JSON 内嵌对象。</p> <p id="demo"></p> <script> myObj = { "name": "mifengjc", "alexa": 10000, "sites": { "site1": "www.mifengjc.com", "site2": "m.mifengjc.com", "site3": "c.mifengjc.com" } } document.getElementById("demo").innerHTML += myObj.sites.site1 + "<br>"; // 或 document.getElementById("demo").innerHTML += myObj.sites["site1"]; </script>
修改值
你可以使用点号(.)来修改 JSON 对象的值:
<p>修改 JSON 对象的值。</p> <p id="demo"></p> <script> var myObj, i, x = ""; myObj = { "name": "mifengjc", "alexa": 10000, "sites": { "site1": "www.mifengjc.com", "site2": "m.mifengjc.com", "site3": "c.mifengjc.com" } } myObj.sites.site1 = "www.google.com"; for (i in myObj.sites) { x += myObj.sites[i] + "<br>"; } document.getElementById("demo").innerHTML = x; </script>
你可以使用中括号([])来修改 JSON 对象的值:
<p>使用中括号([])来修改 JSON 对象的值。</p> <p id="demo"></p> <script> var myObj, i, x = ""; myObj = { "name": "mifengjc", "alexa": 10000, "sites": { "site1": "www.mifengjc.com", "site2": "m.mifengjc.com", "site3": "c.mifengjc.com" } } myObj.sites["site1"] = "www.google.com"; for (i in myObj.sites) { x += myObj.sites[i] + "<br>"; } document.getElementById("demo").innerHTML = x; </script>
删除对象属性
我们可以使用 delete 关键字来删除 JSON 对象的属性:
<p>删除 JSON 对象属性。</p> <p id="demo"></p> <script> var myObj, i, x = ""; myObj = { "name": "mifengjc", "alexa": 10000, "sites": { "site1": "www.mifengjc.com", "site2": "m.mifengjc.com", "site3": "c.mifengjc.com" } } delete myObj.sites.site1; for (i in myObj.sites) { x += myObj.sites[i] + "<br>"; } document.getElementById("demo").innerHTML = x; </script>
你可以使用中括号([])来删除 JSON 对象的属性:
<p>删除 JSON 对象属性。</p> <p id="demo"></p> <script> var myObj, i, x = ""; myObj = { "name": "mifengjc", "alexa": 10000, "sites": { "site1": "www.mifengjc.com", "site2": "m.mifengjc.com", "site3": "c.mifengjc.com" } } delete myObj.sites["site1"]; for (i in myObj.sites) { x += myObj.sites[i] + "<br>"; } document.getElementById("demo").innerHTML = x; </script>