json学习-json对象
【摘要】 对象语法实例{ "name":"runoob", "alexa":10000, "site":null }JSON 对象使用在大括号({})中书写。对象可以包含多个 key/value(键/值)对。key 必须是字符串,value 可以是合法的 JSON 数据类型(字符串, 数字, 对象, 数组, 布尔值或 null)。key 和 value 中使用冒号(:)分割。每个 key/value ...
对象语法
实例
{ "name":"runoob", "alexa":10000, "site":null }
JSON 对象使用在大括号({})中书写。
对象可以包含多个 key/value(键/值)对。
key 必须是字符串,value 可以是合法的 JSON 数据类型(字符串, 数字, 对象, 数组, 布尔值或 null)。
key 和 value 中使用冒号(:)分割。
每个 key/value 对使用逗号(,)分割。
访问对象值
你可以使用点号(.)来访问对象的值:
实例:
-
var myObj, x; -
myObj = { "name":"runoob", "alexa":10000, "site":null }; -
x = myObj.name;
你也可以使用中括号([])来访问对象的值:
-
var myObj, x; -
myObj = { "name":"runoob", "alexa":10000, "site":null }; -
x = myObj["name"];
循环对象
你可以使用 for-in 来循环对象的属性:
实例:
-
var myObj = { "name":"runoob", "alexa":10000, "site":null }; -
for (x in myObj) { -
document.getElementById("demo").innerHTML += x + "<br>"; -
}
在 for-in 循环对象的属性时,使用中括号([])来访问属性的值:
-
var myObj = { "name":"runoob", "alexa":10000, "site":null }; -
for (x in myObj) { -
document.getElementById("demo").innerHTML += myObj[x] + "<br>"; -
}
嵌套 JSON 对象
JSON 对象中可以包含另外一个 JSON 对象:
-
myObj = { -
"name":"runoob", -
"alexa":10000, -
"sites": { -
"site1":"www.runoob.com", -
"site2":"m.runoob.com", -
"site3":"c.runoob.com" -
} -
}
你可以使用点号(.)或者中括号([])来访问嵌套的 JSON 对象。
-
x = myObj.sites.site1; -
// 或者 -
x = myObj.sites["site1"];
修改值
你可以使用点号(.)来修改 JSON 对象的值:
实例:
myObj.sites.site1 = "www.google.com";
你可以使用中括号([])来修改 JSON 对象的值:
实例:
myObj.sites["site1"] = "www.google.com";
删除对象属性
我们可以使用 delete 关键字来删除 JSON 对象的属性:
实例:
delete myObj.sites.site1;
你可以使用中括号([])来删除 JSON 对象的属性:
实例:
delete myObj.sites["site1"]
json 对象和 json 字符串的区别:
json 对象
var str2 = { "name": "asan", "sex": "man" };
json字符串
var str1 = '{ "name": "deyuyi", "sex": "man" }';
在使用for遍历时,只能通过 myObj[x] 来获取相应属性的值,而不能使用 myObj.x
-
<div id="demo"></div> -
<script> -
var myObj = { "name":"runoob", "alexa":10000, "site":"www.runoob.com" }; -
-
for (x in myObj) { -
document.getElementById("demo").innerHTML += myObj[x] + "<br>"; -
} -
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)