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>