JSON 中数组值必须是合法的 JSON 数据类型(字符串, 数字, 对象, 数组, 布尔值或 null)。
JavaScript 中,数组值可以是以上的 JSON 数据类型,也可以是 JavaScript 的表达式,包括函数,日期,及 undefined。
一、对象属性的值可以是一个数组
{ "name":"网站", "num":3, "sites":[ "Google", "Runoob", "Taobao" ] }
1. 可以使用索引值来访问数组:
x = myObj.sites[0];
2. 可以使用 for-in 来访问数组:
for (i in myObj.sites) { x += myObj.sites[i] + "<br>"; }
3. 也可以使用普通for循环
for (i = 0; i < myObj.sites.length; i++) { x += myObj.sites[i] + "<br>"; }
二、JSON 对象中数组可以包含另外一个数组,或者另外一个 JSON 对象
myObj = { "name":"网站", "num":3, "sites": [ { "name":"Google", "info":[ "Android", "Google 搜索", "Google 翻译" ] }, { "name":"Runoob", "info":[ "菜鸟教程", "菜鸟工具", "菜鸟微信" ] }, { "name":"Taobao", "info":[ "淘宝", "网购" ] } ] }
1. 可以使用 for-in 来循环访问每个数组
for (i in myObj.sites) { x += "<h1>" + myObj.sites[i].name + "</h1>"; for (j in myObj.sites[i].info) { x += myObj.sites[i].info[j] + "<br>"; } }
三、可以使用索引值来修改数组值
myObj.sites[1] = "Github";
四、可以使用 delete 关键字来删除数组元素
delete myObj.sites[1];
注意:删除数值的元素,数组的大小不变
本文参考:
https://www.runoob.com/json/js-json-arrays.html