【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

相关文章
|
11天前
|
JavaScript 前端开发
如何在 JavaScript 中使用 __proto__ 实现对象的继承?
使用`__proto__`实现对象继承时需要注意原型链的完整性和属性方法的正确继承,避免出现意外的行为和错误。同时,在现代JavaScript中,也可以使用`class`和`extends`关键字来实现更简洁和直观的继承语法,但理解基于`__proto__`的继承方式对于深入理解JavaScript的面向对象编程和原型链机制仍然具有重要意义。
|
15天前
|
Web App开发 JavaScript 前端开发
如何确保 Math 对象的方法在不同的 JavaScript 环境中具有一致的精度?
【10月更文挑战第29天】通过遵循标准和最佳实践、采用固定精度计算、进行全面的测试与验证、避免隐式类型转换以及持续关注和更新等方法,可以在很大程度上确保Math对象的方法在不同的JavaScript环境中具有一致的精度,从而提高代码的可靠性和可移植性。
|
8天前
|
JSON JavaScript Java
对比JSON和Hessian2的序列化格式
通过以上对比分析,希望能够帮助开发者在不同场景下选择最适合的序列化格式,提高系统的整体性能和可维护性。
12 3
|
14天前
|
JSON 数据格式 索引
Python中序列化/反序列化JSON格式的数据
【11月更文挑战第4天】本文介绍了 Python 中使用 `json` 模块进行序列化和反序列化的操作。序列化是指将 Python 对象(如字典、列表)转换为 JSON 字符串,主要使用 `json.dumps` 方法。示例包括基本的字典和列表序列化,以及自定义类的序列化。反序列化则是将 JSON 字符串转换回 Python 对象,使用 `json.loads` 方法。文中还提供了具体的代码示例,展示了如何处理不同类型的 Python 对象。
|
15天前
|
JSON JavaScript 前端开发
|
15天前
|
JavaScript 前端开发 图形学
JavaScript 中 Math 对象常用方法
【10月更文挑战第29天】JavaScript中的Math对象提供了丰富多样的数学方法,涵盖了基本数学运算、幂运算、开方、随机数生成、极值获取以及三角函数等多个方面,为各种数学相关的计算和处理提供了强大的支持,是JavaScript编程中不可或缺的一部分。
|
24天前
|
存储 安全 Java
Java编程中的对象序列化与反序列化
【10月更文挑战第22天】在Java的世界里,对象序列化和反序列化是数据持久化和网络传输的关键技术。本文将带你了解如何在Java中实现对象的序列化与反序列化,并探讨其背后的原理。通过实际代码示例,我们将一步步展示如何将复杂数据结构转换为字节流,以及如何将这些字节流还原为Java对象。文章还将讨论在使用序列化时应注意的安全性问题,以确保你的应用程序既高效又安全。
|
27天前
|
JSON 前端开发 数据格式
前端的全栈之路Meteor篇(五):自定义对象序列化的EJSON介绍 - 跨设备的对象传输
EJSON是Meteor框架中扩展了标准JSON的库,支持更多数据类型如`Date`、`Binary`等。它提供了序列化和反序列化功能,使客户端和服务器之间的复杂数据传输更加便捷高效。EJSON还支持自定义对象的定义和传输,通过`EJSON.addType`注册自定义类型,确保数据在两端无缝传递。
|
30天前
|
存储 JSON JavaScript
JavaScript JSON
【10月更文挑战第7天】JSON 是 JavaScript 中非常重要的一个数据格式,它为数据的表示和传输提供了一种简单而有效的方式。掌握 JSON 的使用方法和特点,对于开发高质量的 JavaScript 应用具有重要意义。
|
24天前
|
存储 缓存 NoSQL
一篇搞懂!Java对象序列化与反序列化的底层逻辑
本文介绍了Java中的序列化与反序列化,包括基本概念、应用场景、实现方式及注意事项。序列化是将对象转换为字节流,便于存储和传输;反序列化则是将字节流还原为对象。文中详细讲解了实现序列化的步骤,以及常见的反序列化失败原因和最佳实践。通过实例和代码示例,帮助读者更好地理解和应用这一重要技术。
22 0