JSON的定义

JSON (Javascript Object Notation)是一种轻量級、基于文本的、与语言无关的数据交换格式。

尽管JSON源于JavaScript,但它实际上是一种独立于編程语言的数据格式。这意味着它可以被任何支持JSON的編程语言使用。

JSON的特点

  1. 易于人类调读和编写:JSON使用简单的键值对结构,类似于许多编程语言中的对象或字典。

    数据以层次结构组织,使用花括号 {} 表示对象,方括号 [] 表示数组。

    键值对使用冒号 : 分隔,多个项目之问使用逗号 , 分隔。不需要额外的标记或结束标签,减少了复杂性。

    JSON数据以键值对的形式表示。

    键 (keys)必须是宇符串。

    值 (values)可以是以下几种类型:宇符串,数字,对象,数组,布尔值,null。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    //###结构和语法
    {
    "name": "Harry",
    "age": 30,
    "isStudent": false,
    "address": {
    "street": "Fleet Street St""city",
    "Anytown""zipcode": "263605"
    },
    "courses": ["Math", "Science", "History"],
    "score": null
    }
  2. 易于机器解析和生成:JSON的语法规则非常简单,这使得创建解析器变得相对容易。

    解析过程直接,不需要处理复杂的标记或命名空间。

    大多数现代编程语言都内置了JSON解析和生成功能。并且许多第三方库提供了高效的JSON处理工具。

JSON的主要用途

常用于在Web应用程序中传输数据,例如:从服务器向客户端发送数据,以便在网页上显示,也可以反向传输,即从客户端向服务器发送数据。

JSON的解析 (Parsing)和宇符串化 (Stringifying)过程

将JSON宇符串转换为JavaScript对象

1
2
3
4
5
const jsonString = {"name": "Harry", "age": "25"}

const obj = JSON.parse (jsonString) ;

console. log (obj.name) ; // "Harry"

将JavaScript对象转换为JSON字符串

1
2
3
4
5
const obj = {name; "Harry", age: 25};

const jsonString = JSON.stringify(obj);

console. log (jsonString) ; //("'name" ; "Harry", "age" :25)'