JSON

1.概念:JSON 的英文余称是JavaScript Object Notation,即“JavaScript对象表示法”。简单来讲,JSON就是Javascript对象和数组的字符串表示法,它使用文本表示一个JS对象或数组的信息,因此,JSON的本质是字符串

作用:JSON是一种轻量级的文本数据交换格式,在作用上类似于XML,,专门用于存储和传输数据,但是JSON比XML更小、更快、更易解析

现状:JSON是在2001年开始被推广和使用的数据格式,到现今为止,JSON已经成为了主流的数据交换格式

 

2.JSON的两种结构

JSON就是用字符串来表示Javascript的对象和数组。所以,JSON中包含对象数组两种结构,通过这两种结构的相互嵌套,可以表示各种复杂的数据结构。

对象结构:对象结构在JSON中表示为{}括起来的内容。数据结构为{ key: value, key: value ....}的键值对结构。其中,key必须是使用英文的双引号包裹的字符串,value的数据类型可以是数字字符串布尔值null数组对象6种类型。

数组结构:数组结构在JSON 中表示为[]括起来的内容。数据结构为["java" , "javascript" ,30, true...] .数组中数据的类型可以是数字字符串布尔值null数组对象6种类型。

 

3.JSON语法注意事项

属性名必须使用双引号包裹

字符串类型的值必须使用双引号包裹

JSON中不允许使用单引号表示字符串

JSON中不能写注释

JSON的最外层必须是对象或数组格式

不能使用undefined或函数作为JSON的值

JSON的作用:在计算机与网络之间存储和传输数据。

JSON的本质:用字符串来表示Javascript对象数据或数组数据

 

4.JSON和JS对象的关系

JSON是JS对象的字符串表示法,它使用文本表示一个JS对象的信息,本质是一个字符串。例如:

 

 

 

5.JSON和JS对象的互转

要实现从JSON字符串转换为JS对象,使用JSON.parse0方法:

 

代码示例:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

</body>
<script>
    var jsonStr = '{"a":"Hello","b":"world"}'
    var obj = JSON.parse(jsonStr)
    console.log(obj);
</script>

</html>

要实现从JS对象转换为JSON字符串,使用JSON.stringify()方法:

 

 代码示例:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

</body>
<script>
    // var jsonStr = '{"a":"Hello","b":"world"}'
    // var obj = JSON.parse(jsonStr)
    // console.log(obj);

    var obj2 = {
        a: 'hello',
        b: 'world',
        c: false
    }
    var str = JSON.stringify(obj2)
    console.log(str);
</script>

</html>

 

6.序列化和反序列化

数据对象转换为字符串的过程,叫做序列化,例如:调用JSON.stringify()函数的操作,叫做JSON序列化。

字符串转换为数据对象的过程,叫做反序列化,例如:调用JSON.parse()函数的操作,叫做JSON反序列化。



 

posted @ 2022-05-02 10:19  今天穿秋裤了吗  阅读(100)  评论(0)    收藏  举报