JSON

概述

JSON -> JavaScript Object Notation (JavaScript对象标记)

JavaScript对象的一种表达方式

JSON是JavaScript对象的一个衍生

JSON是轻量级数据交互的格式

JSON选用映射的关系来形成一个轻量级的数据结构

关于XML的缺点:

  • 数据文档很大
  • 不易读
  • 解析难度比较大

Q&A:

问题1:JSON为什么存在?

为了前后端数据交互(对象里不能有方法)

问题2:所有编程语言都离不开的三大数据类型是什么?

  1. scalar标量(字符串和数字)
  2. sequence序列(数字和列表)
  3. mapping映射

问题3:映射关系是什么?

如函数参数的映射关系,将两个不同的东西映射在一起,如键值对,hash表

写法

  • 映射用冒号隔开
  • 并列数据用逗号隔开
  • 映射的集合用{}包裹
  • 键名一定要用双引号
  • 并列数据集合用[]包裹

转字符串

JSON.parse()将JSON字符串转换成JSON对象

JSON.stringify()将JSON数据转为字符串

前后端交互的数据只能是字符串

应用

异步请求接口

  1. var initDatas = (function () {
  2. function getDatas() {
  3. $.ajax({
  4. url: 'server/api.php',
  5. type: 'POST',
  6. dataType: 'JSON',
  7. data: {
  8. status: 1
  9. },
  10. timeout: 50000,
  11. success: function (data) {
  12. console.log(data);
  13. },
  14. error: function () {
  15. console.log('获取数据失败');
  16. }
  17. })
  18. }
  19. return function () {
  20. getDatas();
  21. }
  22. })();

第一次请求JSON数据后缓存在div盒子

  1. <div id="J_data" style="display: none">JSONdata...</div>

缓存池

概念

请求过的数据不再去请求,只要请求过一次就会缓存到前端,以便于减轻服务器的压力

前端做数据缓存有以下方法:

  • localStroge
  • sessionStroge
  • cookies
  • JS脚本(适用于更新不太频繁的情况)