【JavaScript】33_对象的序列化----JSON

news/2024/7/15 19:47:42 标签: javascript, json, 前端, typescript, react.js

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>javascript">
        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>

在这里插入图片描述


http://www.niftyadmin.cn/n/29020.html

相关文章

十六进制转八进制(蓝桥杯基础练习C/C++)

我首先想到的就是十六进制转十进制&#xff0c;十进制转八进制&#xff0c;毕竟这样的方法是最常见的&#xff0c;但始终出现报错。 我想可能是int能储存的数范围太小了&#xff0c;就尝试用long long存储&#xff0c;结果还是报错。 #include <bits/stdc.h> using nam…

2022年终总结——从打工到创业的转折

目录一、机会的创造和紧抓二、时间线的诉说1.1-4月份&#xff0c;在外面工作的过程中也在考虑这个事情&#xff1b;是在一个自己刚熟悉的金融行业学习提升&#xff1f;还是回归到自己铺垫了很久的教育行业深耕&#xff1f;2.5月份&#xff0c;孤身一人奔赴创业之路&#xff1b;…

【Go基础】包与工程化和常用标准库

文章目录一、包与工程化1. 用go mod管理工程2. 包引入规则3. init调用链4. 可见性二、常用标准库1. 数学计算2. 时间函数3. I/O操作4. 编码一、包与工程化 1. 用go mod管理工程 初始化项目&#xff1a; go mod init $module_name$module_name和目录名可以不一样 上述命令会生…

「链表」简析

前言 前言&#xff1a;研究一个数据结构的时候&#xff0c;首先讲的是增删改查。 文章目录前言一、链表简介1. 含义2. 节点组成3. 存储方式1&#xff09;数据在内存中的存储方式2&#xff09;单链表在内存中的存储方式3&#xff09;双链表在内存中的存储方式4&#xff09;循环链…

[LeetCode周赛复盘] 第 96 场双周赛20230121

[LeetCode周赛复盘] 第 96 场双周赛20230121 一、本周周赛总结二、 [Easy] 6300. 最小公共值1. 题目描述2. 思路分析3. 代码实现三、[Medium] 6275. 使数组中所有元素相等的最小操作数 II1. 题目描述2. 思路分析3. 代码实现四、[Medium] 6302. 最大子序列的分数1. 题目描述2. 思…

【ArcGIS微课1000例】0059:三种底图影像调色技巧案例教程

三种调整影像底图效果的技术,让你的图纸清新脱俗,做出的图更美观! 文章目录 方法一:影像源类型调整方法二:符号拉伸类型设置方法三:影像分析模块设置方法一:影像源类型调整 这种方法是最基础、最简单的一种方法,可以调整的内容有限。当大家发现导入了影像,然后影像图…

VVDocumenter-Xcode github README.md 中英文翻译

2023-01-22 19:29PM Xcode 从版本 8 开始&#xff0c;直接使用快捷键即可生成注释文档。快捷键&#xff1a;optioncommand/ 最近在学习 Xcode 的使用&#xff0c;查到有一款用于生成注释文档的插件&#xff1a;VVDocumenter-Xcode 进入其 github 页面之后看 README&#xff0c…

弯曲或折断

在面对日后项目不确定的变更&#xff0c;需求的迭代&#xff0c;如何尽量保持代码的可撤销性&#xff0c;今天分享一下。&#xff08;可撤销性在另一个分享里讲到&#xff0c;大家可以在找一下拿来品味品味。&#xff09; 做出可撤销性的决策以使自己的代码在面对不确定的世界…