你可能不太了解的JSON

拥有回忆 提交于 2020-08-15 09:02:39

前言

这个知识点面试中被问的概率虽然很低,但是也有可能会问。

JSON流行原因

  1. 拥有与js类似的语法
  2. 可以将JSON数据结构解析成js对象
  3. 与XML数据结构对比,提取数据更简单

JSON语法

简单值

  • 字符串=>“123”
  • 数值=>123
  • 布尔值=>true
  • null

对象

{"name": "helin",“age”: 12}

数组

[ {"name": "iskeeping","age": 12} ]

注意:JSON的key一定要用双引号,以及value如果是字符串也一定要用双引号。

JSON解析方式

  1. 使用eval
eval("({\"name\":\"iskeeping\"})")
复制代码
  1. 使用Function
new Function("", "return ({\"name\":\"iskeeping\"})")()
复制代码
  1. 使用JSON.parse
JSON.parse("{\"name\":\"iskeeping\"}")
复制代码

JSON序列化

let json = 简单值/对象/数组

JSON.stringify(json,null/[]/function(key,value){},缩进空格长度/字符串)

例:

let formateJson = JSON.stringify({ name: "iskeeping", age: 12 }, function (key, value) {
    switch (key) {
        case "name": return "iskeepingxx";
        default: return value;
    }
}, 8)
cosnole.log(formateJson)
复制代码

输出formateJson如下图:

JSON原生支持

原生的JSON对象得到以下浏览器支持。

IE8+,Firefox3.5+,Safari 4+,Opera 10.5和chrome

谢谢阅读!

可加微信交流!

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!