JSON数据格式

JSON是一种轻量级的数据交换格式,基于ECMAScript规范,用于存储和表示数据。它包含JavaScript中的基本数据类型,并规定key和字符串value需使用双引号。JSON.stringify用于对象序列化,而JSON.parse则用于解析JSON数据。在序列化时,特殊类型如Symbol可能无法保留,需要特别处理。
摘要由CSDN通过智能技术生成

JSON数据格式

一、JSON介绍

JSONJavaScript Object Notation, JS对象简谱)是一种轻量级的数据交换格式。它基于 ECMAScript(European Computer Manufacturers Association, 欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率

二、JSON的语法规则

​ 包括JavsScript中几乎全部基本数据类型,null和boolbean包括,undefined不包括。

key必须使用双引号,value如果是字符串类型也必须是双引号。如下为标准的JSON格式

{
    "name":"小兔",
    "age":24,
    "like":[1,2,3]
    "null":null,
    "college":{
    	"name":'jxcdxjg',
    	"address":"gqc"
	}
}

三、JSON的API

1.JSON.stringify(obj,filter?,space?)

第一个参数为序列化为JSON数据的对象,第二个参数是过滤,数组或者函数,第三个参数是返回数据的缩进方式 类型可以是string|number|

let obj = {
  name:'xiaotu',
  age:24,
  likes:['唱','跳','rap','篮球'],
  symbol:Symbol()
}
let jsonText = JSON.stringify(obj,(key:string,value:any)=>{
  return value

},2)
let jsonText = JSON.stringify(obj,(key:string,value:any)=>{
   switch (key) {
    case 'symbol':
      return value.toString()
   default:
    return value
  }
},2)
console.log(jsonText)

在这里插入图片描述

​ 上述例子中可以看出Symbol()是不会被序列化的直接删除,jsonText2中可以使用函数的形式将类型为symbol保留下来。

注意:还是不要用特殊字符缩进为好,防止转换为对象发生错误

2.JSON.parse(jsonText,filter?)

将JSON数据解析为JavaScript对象。第一个参数为JSON对象,第二个参数为(key,value)函数

let distObj = JSON.parse(jsonText2,(key:string,value:any)=> key =='symbol'? Symbol(value) : value)

在这里插入图片描述




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值