JSON入门
徐徐 抱歉选手

JSON介绍

JavaScript Object Notation(JSON/.json): JavaScript对象表示法用于将结构化数据表示为JavaScript对象的标准格式,常用于网站上表示和传输数据。

JSON对象基于JavaScript对象。将JS对象写入JSON数据从而构造一个对象树。将JSON文件保存为一个对象,加载它进入JS程序,通过.或[]访问JSON对象内的数据。

JSON应用场景

用于浏览器(browser)和服务器(server)之间数据的传输。

注意:

JSON是一种纯数据格式,只包含属性,没有方法。

JSON要求在字符串和属性名周围使用双引号

JSON形式

官方文档

对象

对象是一个无序的“名称/值”对的集合。他也可以被理解为struct/dictionary/hash table/associative array

因此访问对象可以利用->访问法以及[]访问法。

对象总以左花括号开始,右花括号结束,“名称/值”对之间用逗号分隔。

1
2
3
4
5
// object
{
key1: value1,
key2: value2
}

数组

数组是值的有序集合。

数组总以左中括号开始,右中括号结束。值之间使用逗号分隔。

1
2
3
4
5
6
// array
[
value1,
value2,
value3
]

值可以是双引号括起来的字符串、数值、布尔值、null、对象、或者数组。

字符串

字符串是由双引号包围的任意数量的Unicode字符的集合,使用反斜线转义。

使用JSON

设置XHR加载JSON格式数据

  1. 将保存一个待访问的URL作为变量保存在var requestURL中。

  2. 创建一个HTTP请求对象,利用new构造函数。

    1
    var request = new XMLHTTPRequest()
  3. 使用HTTP请求对象的open()函数打开新的请求

    1
    request.open("GET", requestURL)
  4. 设定HHTTP请求对象的参数并发送请求

    1
    2
    request.responseType = 'json';
    request.send()
  5. 相应来自服务器的返回数据,并自定义处理

    1
    2
    3
    4
    request.onload = function() {
    var data = request.response;
    // function-with-data-as-params
    }

JSON传输中数据和字符串的转换

  1. 接收一些字符串作为JSON数据,需要将它转换为对象。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    request.open("GET", requestURL);
    request.responseType = 'text';
    request.send()

    request.onload = function(){
    var textObj = request.response;
    var jsonObj = JSON.parse(textObj);
    }

  1. 发送JSON数据作为信息,需要将它转换为字符串。

    1
    2
    var myJson = {};
    var myString = JSON.stringify(myJSON);
  • 本文标题:JSON入门
  • 本文作者:徐徐
  • 创建时间:2020-10-10 09:07:36
  • 本文链接:https://machacroissant.github.io/2020/10/10/working-with-json/
  • 版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
 评论