10JSON

JSON

JSON(JavaScript Object Notation:JS对象表示法)是一种轻量级的数据交换格式

用独立的编程语言文本格式来存储和表示数据

优点

易于阅读和编写,同时也是易于浏览器解析和生成,并有效地提升网络传输效率

与XML比较

JSON书写或解析时是一个对象,更容易解析;而XML是由用户自定义标签来存储数据。对于前端来说,不容易书写且解析起来较为困难

JSON文件内容

它可以是一个单值,也可以是一个对象,也可以是一个数组以及是对象和数组的结合

JSON在哪里编写

可以写在JavaScript代码中,也可以形成一个独立的.json文本文件

在JS中编写JSON数据时:如果值是字符串,可以用单或者双引号包含;

在独立的.json文件编写JSON数据时:

  • 文件的扩展名必须是.json,JSON文件不是JS文件,不能出现任何的JS代码,它仅仅是一个文本文件

  • 数据不能赋值给变量

  • 键值对中的键必须用双引号括起来

  • 键值对中的值如果是字符类型,必须用双引号括起来

  • 在JSON文件中不能添加任何注释

JSON中的数据值

  • 简单值:可以在JSON中表示字符串、数值、布尔值和null(JSON中不支持JavaScript的特殊类型underfined)

  • 对象({ })

  • 数组([ ])

解析JSON数据

解析JavaScript中的JSON数据

如果是JSON数据,可以直接访问;如果是JSON格式的字符串需要用JSON.parse()方法进行转换。

  • JSON.parse():将JSON格式的字符串转换为JSON

  • JSON.stringify():将JSON转换为JSON格式的字符串

解析.json文件

JSON文件必须用ajax(异步请求)技术去获取。

ajax请求操作步骤:

  1. 创建请求对象

    var xhr = new XMLHttpRequest();

  2. 建立请求连接

    xhr.open('get',url,true);// get/post:请求方式 true/false:true表示异步请求,false表同步操作 url:表示请求的路径

  3. 向后台发送请求

    xhr.send();

  4. 前端对请求的结果进行处理

    xhr.onreadystatechange = function () {
      if(xhr.readyState == 4 && xhr.status == 200){ // 如果请求成功
        console.log(JSON.parse(xhr.responseText)); // responseTextr:获取请求的结果
      }
    };

注意:如果发送ajax请求,必须以http(服务器端)的方式启动文件,不能在本地直接打开。

猜你喜欢

转载自blog.csdn.net/weixin_42248871/article/details/110715247