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

时间:2021-01-28 00:48:46

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 [])
  1. 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>

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