JSON对象和JSON数组

JSON对象

对象遵循的语法规则

1、JSON 对象被花括号 {} 包围

2、JSON 对象以键/值对书写。

3、键必须是字符串,值必须是有效的 JSON 数据类型(字符串、数字、对象、数组、布尔或 null)。

4、键和值由冒号分隔。

5、每个键/值对由逗号分隔

text = {"name":"张三", "age":"function() {return 20;}", "city":"西安"};

访问对象值

1、通过使用点号(.)来访问对象值:

text = {"name":"张三", "age":"function() {return 20;}", "city":"西安"};

x = text.name

2、可以使用方括号([])来访问对象值:

text = {"name":"张三", "age":"function() {return 20;}", "city":"西安"};

x = text["name"]

遍历对象

通过使用 for-in 遍历对象属性:

text = {"name":"张三", "age":"function() {return 20;}", "city":"西安"};

for(key in text){
    console.log(key);
}

在这里插入图片描述

在 for-in 循环中,请使用括号标记法来访问属性值:

text = {"name":"张三", "age":"function() {return 20;}", "city":"西安"};

for(key in text){
    console.log(text[key]);
}

在这里插入图片描述

嵌套的 JSON 对象

一个 JSON 对象中的值可以是另一个 JSON 对象。

text = {"name":"张三", "age":"function() {return 20;}", "city":"西安",
    "text2":{"name":"李四", "age":"function() {return 25;}", "city":"西安"}
    };

通过使用点号和括号访问嵌套的 JSON 对象:

 x = text.text2.name

 x = text.text2["name"]

通过使用点号和括号修改嵌套的 JSON 对象的值:

text.text2.name = "老王"

text.text2["name"] = "老王"

delete 关键词来删除 JSON 对象的属性:

delete text.text2.name;

JSON 对象的数组

数组遵循的语法规则

JSON 中的数组几乎与 JavaScript 中的数组相同。

在 JSON 中,数组值的类型必须属于字符串、数字、对象、数组、布尔或 null。

arr = [ "Name","张三","age","20" ];

访问数组值

通过使用索引号来访问数组值:

arr = [ "Name","张三","age","20" ];

x = arr[0]

遍历数组

通过使用 for-in 循环来访问数组值:

arr = [ "Name","张三","age","20" ];

for(i in arr){
    console.log(arr[i]);
}

或者可以使用 for 循环

arr = [ "Name","张三","age","20" ];

for(let i = 0;i<arr.length;i++){
    console.log(arr[i]);
}

JSON 对象中的嵌套数组

数组中的值也可以另一个数组,或者甚至另一个 JSON 对象

myObj =  {
   "name":"Bill Gates",
   "age":62,
   "cars": [
	  { "name":"Porsche",  "models":[ "911", "Taycan" ] },
	  { "name":"BMW", "models":[ "M5", "M3", "X5" ] },
	  { "name":"Volvo", "models":[ "XC60", "V60" ] }
   ]
}

访问数组内部的数组,请对每个数组使用 for-in 循环

for (i in myObj.cars) {
    x += "<h1>" + myObj.cars[i].name  + "</h1>";
    for (j in myObj.cars[i].models) {
         x += myObj.cars[i].models[j];
    }
}

使用索引号来修改数组:

myObj.cars[1] = "Mercedes Benz";

使用 delete 关键词来删除数组中的项目:

delete myObj.cars[1];

参考:https://www.w3school.com.cn/js/js_json_arrays.asp

  • 14
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

努力做一只合格的前端攻城狮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值