json的一点理解

本文详细介绍了JSON的三种基本值类型以及其在对象和数组中的应用。重点讲解了JSON.parse()用于解析JSON字符串,JSON.stringify()用于序列化对象的过程,包括如何使用过滤器函数进行定制化处理。同时,提到了toJSON()方法在序列化过程中的补充过滤作用,并通过示例展示了其在不同情况下的影响。
摘要由CSDN通过智能技术生成

json的语法可以表示三种类型的值
1、简单值(字符串 数值 布尔值 null)
2、对象
3、数组

属性名必须双引号
{
“name”:“xx”,
“age”:23,
“school”:{
“name”:“abc”,
addr:“xxx”
},
tel:[15xxxxxxx,46xxxxxxxxx],
info:[“zbc”,23232,true]
}

解析与序列化
解析JSON.parse(jsonText,function(键,值){
还原函数,接受两个值
return 的是undefined就删除对应的键
返回其他值就插入对应的键中
})

序列化JSON.stringify(obj,过滤器数组或者函数,缩进的控制数字最大为10字符串为制表符)
过滤器为函数时function(键,值){
返回undefined就删除对应的键
}

序列化顺序:
1,根据对象里的toJSON()方法返回的结果进行2
2,返回的结果进行过滤
3,进行相应序列化
4,根据第三个参数进行格式化

PS:toJSON()方法定义在要序列化的对象里,作为JSON.stringify过滤器的补充过滤

toJSON()方法可以返回任何值
undefined 如果此对象在另一个对象中,值变为null

data={
  name:"zh",
  tel:123456789,
  school:{
    name:"zbc",
    addr:"diqiu",
  	toJSON:function(){
      return undefined
    }
    
  }
 
}
var jsontext = JSON.stringify(data)
console.log(jsontext);//{"name":"zh","tel":123456789}

如果是顶级对象,值变为undefined

data={
  name:"zh",
  tel:123456789,
  school:{
    name:"zbc",
    addr:"diqiu"
  },
  toJSON:function(){
      return undefined
    }
 
}
var jsontext = JSON.stringify(data)
console.log(jsontext); //undefined
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值