JSON

JSON(Javascript Object Notation,Javascript 对象表示法),是JavaScript的一个严格的子集,利用了JavaScript中的一些模式来表示结构化数据结构。JSON是一种数据格式,不是一种编程语言。
JSON的语法可以表示以下三种类型的值:

  • 简单值:包括字符串,数值,布尔值和null,但不支持undefined
  • 对象:每个键值对的值可以是简单值,也可以是对象,数组。
  • 数组:数组的值也可以是简单值,对象,数组。
    JSON中所有字符串必须使用双引号,JSON中对象的属性也需要加引号。
    JSON对象有两个方法:stringify(),parse()
  • JSON.stringify()
    该方法用于把JSON对象序列化为JSON字符串。在序列化过程中,函数及原型都会被有意忽略,值为undefined的属性也会被跳过。JSON.stringify()可以接收三个参数:第一个是要序列化的Javascript对象;第二个是过滤器,可以是一个数组,也可以是一个函数;第三个是一个选项,表示是否在字符串中保留缩进。
    关于过滤器:如果是一个数组,则返回的字符串中只包含过滤器中包含的属性;如果是一个函数,入参时属性名和属性值,返回处理后的属性值,在开始时, 过滤器函数会被传入一个空字符串作为 key 值,代表着要被 stringify 的这个对象。随后每个对象或数组上的属性会被依次传入。
       let data ={
            name:'king',
            age:12
        }
        let str = JSON.stringify(data,function(key,value){
            switch(key){
                case "name":
                    return `${key}-${value}`
                default:
                    return value
            }
        })
        console.log(str) //{"name":"name-king","age":12}
  • JSON.parse()
    JSON.parse()用于将JSON字符串解析成原生JavaScript值。可以接收两个参数,第一个是需要解析的字符串;第二个是一个还原函数,将在每个键值对上使用,传入一个键和一个值,返回一个值。
       let obj = JSON.parse(str,(key,value)=>{
            if(key==='age'){
                return value+1
            }
            return value
        })
        console.log(obj)  //{name: "name-king", age: 13}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  •   曾经有一段时间,XML 是互联网上传输数据化结构的事实标准。Web 服务的第一次浪潮很大程度上都是建立在 XM...
    霜天晓阅读 2,880评论 0 1
  • 引言 曾经有一段时间,XML是互联网上传输结构化数据的事实标准。Web服务的第一次浪潮很大程度上都是建立在XML之...
    DHFE阅读 3,803评论 0 0
  • 我们先来看一个JS中常见的JS对象序列化成JSON字符串的问题,请问,以下JS对象通过JSON.stringify...
    程序员之路阅读 4,585评论 0 6
  • 参考文章:JSON 对象 1.JSON 格式 JSON 格式(JavaScript Object Notation...
    chrisghb阅读 4,529评论 0 0
  • 对象 简单说,所谓对象,就是一种无序的数据集合,由若干个“键值对”(key-value)构成。 varobj = ...
    那个汉堡在对我笑阅读 3,468评论 0 0

友情链接更多精彩内容