JSON学习笔记—概述

1、与 XML 相同之处

  • JSON 是纯文本
  • JSON 具有"自我描述性"
  • JSON 具有层级结构(值中存在值)
  • JSON 可通过 JavaScript 进行解析
  • JSON 数据可使用 AJAX 进行传输

2、与 XML 不同之处

  • 没有结束标签
  • 更短
  • 读写的速度更快
  • 能够使用内建的 JavaScript eval() 方法进行解析
  • 使用数组
  • 不使用保留字

3、XML和JSON使用流程

对于 AJAX 应用程序来说,JSON 比 XML 更快更易使用:

使用 XML

  • 读取 XML 文档
  • 使用 XML DOM 来循环遍历文档
  • 读取值并存储在变量中

使用 JSON

  • 读取 JSON 字符串
  • 用 eval() 处理 JSON 字符串

4、语法

数据在值对中,数据用逗号分隔,大括号存对象,中括号存数组。

eg:
{"name":"dantajun"}
{"name":"dantajun","age":4} JSON对象
{
"status":[
{"name":"dantajun","age":4},
{"name":"dantajun2","age":18},
{"name":"dantajun3","age":18}
]
} JSON数组

访问:s
status[0].name; 返回“dantajun”
status[0].age=1; 修改蛋挞菌年龄为1

5、XML和JSON实例

{
"status":[
{"name":"dantajun","age":4},
{"name":"dantajun2","age":18},
{"name":"dantajun3","age":18}
]
} 
<status>
  <statu>
    <name>dantajun</name> <age>4</age>
  </statu>
  <statu>
    <name>dantajun2</name> <age>18</age>
  </statu>
  <statu>
    <name>dantajun3</name> <age>18</age>
  </statu>
</status>

6、JSON和JavaScript的转换

JSON.parse(): 将一个 JSON 字符串转换为 JavaScript 对象。

JSON数组
var text='{"status":['+
'{"name":"dantajun","age":4},'+
'{"name":"dantajun2","age":18},'+
'{"name":"dantajun3","age":18} ]}';
var obj=JSON.parse(text);
//var obj = eval ("(" + txt + ")");
//avaScript 函数 eval() 可用于将 JSON 文本转换为 JavaScript 对象
document.getElementById("demo").innerHTML = obj.status[0].name + " " + obj.status[0].age;


JSON对象
var obj = JSON.parse('{ "name":"runoob", "alexa":10000, "site":"www.runoob.com" }');
document.getElementById("demo").innerHTML = obj.name + ":" + obj.site;
 
利用AJAX从服务器请求JSON,解析为Javascript
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
        myObj = JSON.parse(this.responseText);
        document.getElementById("demo").innerHTML = myObj.name;
    }
};
xmlhttp.open("GET", "json数据所在文件URL", true);
xmlhttp.send();

JSON.stringify(): 于将 JavaScript 值转换为 JSON 字符串。

JavaScript对象
var obj = { "name":"runoob", "alexa":10000, "site":"www.runoob.com"};
var myJSON = JSON.stringify(obj);

JavaScript数组
var arr = [ "Google", "Runoob", "Taobao", "Facebook" ];
var myJSON = JSON.stringify(arr);

7、JSON对象

通过 . [] 可以对其进行操作。
使用 for-in 来循环对象的属性。

for (x in myObj) {
   x;//读取x
   myObj[x];//访问属性值
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值