JSON用法

 JSON规则

1) 并列的数据之间用逗号(", ")分隔。

2) 映射用冒号(": ")表示。

3) 并列数据的集合(数组)用方括号("[]")表示。

4) 映射的集合(对象)用大括号("{}")表示。

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>JSON语法</title>
</head>
<body>
<p>数组存对象的 name 值为: <span id="name1"></span></p> 
<p>对象存对象的 name 值为: <span id="name2"></span></p> 

<script>
//数组存对象
var objectArr = [
	{ "name":"runoob" , "url":"www.runoob.com" }, 
	{ "name":"google" , "url":"www.google.com" }, 
	{ "name":"微博" , "url":"www.weibo.com" }
];
document.getElementById("name1").innerHTML=objectArr[0].name;

//对象存对象
var arrObject = {
	"temp1":{ "name":"runoob" , "url":"www.runoob.com" }, 
	"temp2":{ "name":"google" , "url":"www.google.com" }, 
	"temp3":{ "name":"微博" , "url":"www.weibo.com" }
};
document.getElementById("name2").innerHTML=arrObject.temp1.name;
for(var i in arrObject){
	console.log(arrObject[i].name);//即temp1、temp2、temp3对象的具体属性值,实现跟数组对象的使用效果
}
console.log("\n");//换行

//嵌套对象
var moreObject = {
  "name":"runoob",
  "alexa":10000,
  "sites": {
      "site1":"www.runoob.com",
      "site2":"m.runoob.com",
      "site3":"c.runoob.com"
  }
}
//在使用for遍历时,只能通过[] 来获取相应属性的值,而不能使用点语法(获取值为undefined)
for (var i in moreObject.sites) {//循环对象
	console.log(i);//site1、site2、site3这些字符串
  console.log(moreObject.sites[i]);//即·moreObject.sites.site1
}
console.log("\n");//换行

//嵌套数组
var moreArr={
	"name":"网站",
	"num":3,
	"sites":[ "Google", "Runoob", "Taobao" ]
}
for (i in moreArr.sites) {//循环数组
   console.log(moreArr.sites[i]);
}
for (i = 0; i < moreArr.sites.length; i++) {//for循环访问数组
    console.log(moreArr.sites[i]);
}

//JSON.parse函数将字符串转换为 JavaScript 对象
var jsonStr1='{ "name":"runoob", "alexa":10000, "site":"www.runoob.com" }';
var obj1 = JSON.parse(jsonStr1);
console.log("\n"+obj1.name + ":" + obj1.site);

//JSON.stringify() 方法将 JavaScript 对象转换为字符串。(可以转换数组包裹或对象包裹的对象)
var obj2 = { "name":"runoob", "alexa":10000, "site":"www.runoob.com"};
var jsonStr2 = JSON.stringify(obj2);
console.log("\n"+jsonStr2);


</script>

</body>
</html>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值