【JavaScript】46_对象的序列化——JSON

简介: # 3、对象的序列化对象的序列化- JS中的对象使用时都是存在于计算机的内存中的 - 序列化指将对象转换为一个可以存储的格式 **在JS中对象的序列化通常是一个对象转换为字符串(JSON字符串)** - 序列化的用途(对象转换为字符串有什么用): - 对象转换为字符串后,可以将字符串在不同的语言之间进行传递 甚至人可以直接对字符串进行读写操作,使得JS对象可以不同的语言之间传递 - 用途: 1. 作为数据交换的格式 2. 用来编写配置文字 - 如何进行序列化:

3、对象的序列化

对象的序列化

  • JS中的对象使用时都是存在于计算机的内存中的

    • 序列化指将对象转换为一个可以存储的格式
      在JS中对象的序列化通常是一个对象转换为字符串(JSON字符串)
    • 序列化的用途(对象转换为字符串有什么用):
    • 对象转换为字符串后,可以将字符串在不同的语言之间进行传递
      甚至人可以直接对字符串进行读写操作,使得JS对象可以不同的语言之间传递
    • 用途:

      1. 作为数据交换的格式
      2. 用来编写配置文字
    • 如何进行序列化:

JSON

  • 在JS中有一个工具类 JSON (JavaScript Object Notation) JS对象表示法
  • JS对象序列化后会转换为一个字符串,这个字符串我们称其为JSON字符串

    • 也可以手动的编写JSON字符串,在很多程序的配置文件就是使用JSON编写的
    • 编写JSON的注意事项:

      1. JSON字符串有两种类型:

        JSON对象 {}
        JSON数组 []

      2. JSON字符串的属性名必须使用双引号引起来
      3. JSON中可以使用的属性值(元素)

        • 数字(Number)
        • 字符串(String) 必须使用双引号
        • 布尔值(Boolean)
        • 空值(Null)
        • 对象(Object {})
        • 数组(Array [])
      4. JSON的格式和JS对象的格式基本上一致的,
        注意:JSON字符串如果属性是最后一个,则不要再加,

JSON.stringify()

可以将一个对象转换成JSON字符串

JSON.parse()

可以将一个JSON格式的字符串转换为JS对象

    <script>
        const obj = {
            name: '孙悟空',
            age: 13,
        }

        //将obj转换成JSON字符串
        const str = JSON.stringify(obj)//JSON.stringify() 可以将一个对象转换成JSON字符串

        const obj2 = JSON.parse(str) //JSON.parse() 可以将一个JSON格式的字符串转换为JS对象

        // console.log(obj)
        // console.log(str) // {"name":"孙悟空","age":18}
        // console.log(obj2)

        const str2 = `{'name': '孙悟空','age': '13'}`
        const str3 = '{}'
        const str4 = '["hello",true,[]]'
    </script>

image.png

相关文章
|
4天前
|
存储 Java 开发者
Java中的对象序列化详解
Java中的对象序列化详解
|
4天前
|
存储 JSON 测试技术
python中json和类对象的相互转化
针对python中类对象和json的相关转化问题, 本文介绍了4种方式,涉及了三个非常强大的python库jsonpickle、attrs和cattrs、pydantic,但是这些库的功能并未涉及太深。在工作中,遇到实际的问题时,可以根据这几种方法,灵活选取。 再回到结构化测试数据的构造,当需要对数据进行建模时,也就是赋予数据业务含义,pydantic应该是首选,目前(2024.7.1)来看,pydantic的生态非常活跃,各种基于pydantic的工具也非常多,建议尝试。
|
5天前
|
存储 JavaScript 前端开发
|
3天前
|
JavaScript
js 简易对象转字符串后恢复为简易对象(如 ^a=$1^b=2转对象)
js 简易对象转字符串后恢复为简易对象(如 ^a=$1^b=2转对象)
7 0
|
4天前
|
JavaScript
js 数组移除指定元素【函数封装】(含对象数组移除指定元素)
js 数组移除指定元素【函数封装】(含对象数组移除指定元素)
4 0
|
4天前
|
JavaScript
JS 数组去重(含简单数组去重【5种方法】、对象数组去重【2种方法】)
JS 数组去重(含简单数组去重【5种方法】、对象数组去重【2种方法】)
10 0
|
4天前
|
JSON Java 数据格式
前后端数据交换,JSON基础语法和JSON数据和Java对象转换,最快的对象转换,JSON{““}字符串如何写User{id=1,username=‘zhangsan‘,password=‘123‘}
前后端数据交换,JSON基础语法和JSON数据和Java对象转换,最快的对象转换,JSON{““}字符串如何写User{id=1,username=‘zhangsan‘,password=‘123‘}
|
4天前
|
JavaScript 前端开发 测试技术
js 控制台调试——console 对象【详解】
js 控制台调试——console 对象【详解】
12 0
|
4天前
|
JavaScript
js 内建对象的拓展 shim/polyfill ( 内含js 判断对象的属性是否存在的方法)
js 内建对象的拓展 shim/polyfill ( 内含js 判断对象的属性是否存在的方法)
6 0
|
5天前
|
JSON JavaScript 前端开发