3、JSON 对象

对象语法

实例

{ "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>";
}
</script>

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值