【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

相关文章
|
2月前
|
JSON JavaScript 前端开发
Go语言中json序列化的一个小坑,建议多留意一下
在Go语言开发中,JSON因其简洁和广泛的兼容性而常用于数据交换,但其在处理数字类型时存在精度问题。本文探讨了JSON序列化的一些局限性,并介绍了两种替代方案:Go特有的gob二进制协议,以及msgpack,两者都能有效解决类型保持和性能优化的问题。
56 7
|
2月前
|
JSON 前端开发 JavaScript
聊聊 Go 语言中的 JSON 序列化与 js 前端交互类型失真问题
在Web开发中,后端与前端的数据交换常使用JSON格式,但JavaScript的数字类型仅能安全处理-2^53到2^53间的整数,超出此范围会导致精度丢失。本文通过Go语言的`encoding/json`包,介绍如何通过将大整数以字符串形式序列化和反序列化,有效解决这一问题,确保前后端数据交换的准确性。
57 4
|
2月前
|
JSON JavaScript Java
对比JSON和Hessian2的序列化格式
通过以上对比分析,希望能够帮助开发者在不同场景下选择最适合的序列化格式,提高系统的整体性能和可维护性。
62 3
|
2月前
|
JSON 数据格式 索引
Python中序列化/反序列化JSON格式的数据
【11月更文挑战第4天】本文介绍了 Python 中使用 `json` 模块进行序列化和反序列化的操作。序列化是指将 Python 对象(如字典、列表)转换为 JSON 字符串,主要使用 `json.dumps` 方法。示例包括基本的字典和列表序列化,以及自定义类的序列化。反序列化则是将 JSON 字符串转换回 Python 对象,使用 `json.loads` 方法。文中还提供了具体的代码示例,展示了如何处理不同类型的 Python 对象。
|
2月前
|
JSON JavaScript 前端开发
|
2月前
|
存储 安全 Java
Java编程中的对象序列化与反序列化
【10月更文挑战第22天】在Java的世界里,对象序列化和反序列化是数据持久化和网络传输的关键技术。本文将带你了解如何在Java中实现对象的序列化与反序列化,并探讨其背后的原理。通过实际代码示例,我们将一步步展示如何将复杂数据结构转换为字节流,以及如何将这些字节流还原为Java对象。文章还将讨论在使用序列化时应注意的安全性问题,以确保你的应用程序既高效又安全。
|
3月前
|
JSON 前端开发 数据格式
前端的全栈之路Meteor篇(五):自定义对象序列化的EJSON介绍 - 跨设备的对象传输
EJSON是Meteor框架中扩展了标准JSON的库,支持更多数据类型如`Date`、`Binary`等。它提供了序列化和反序列化功能,使客户端和服务器之间的复杂数据传输更加便捷高效。EJSON还支持自定义对象的定义和传输,通过`EJSON.addType`注册自定义类型,确保数据在两端无缝传递。
|
3月前
|
存储 JSON JavaScript
JavaScript JSON
【10月更文挑战第7天】JSON 是 JavaScript 中非常重要的一个数据格式,它为数据的表示和传输提供了一种简单而有效的方式。掌握 JSON 的使用方法和特点,对于开发高质量的 JavaScript 应用具有重要意义。
|
3月前
|
存储 Java
Java编程中的对象序列化与反序列化
【10月更文挑战第9天】在Java的世界里,对象序列化是连接数据持久化与网络通信的桥梁。本文将深入探讨Java对象序列化的机制、实践方法及反序列化过程,通过代码示例揭示其背后的原理。从基础概念到高级应用,我们将一步步揭开序列化技术的神秘面纱,让读者能够掌握这一强大工具,以应对数据存储和传输的挑战。
|
2月前
|
存储 缓存 NoSQL
一篇搞懂!Java对象序列化与反序列化的底层逻辑
本文介绍了Java中的序列化与反序列化,包括基本概念、应用场景、实现方式及注意事项。序列化是将对象转换为字节流,便于存储和传输;反序列化则是将字节流还原为对象。文中详细讲解了实现序列化的步骤,以及常见的反序列化失败原因和最佳实践。通过实例和代码示例,帮助读者更好地理解和应用这一重要技术。
55 0

热门文章

最新文章