你可能不太了解的JSON

前言

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

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如下图:

原文链接:juejin.im

上一篇:webpack打包ts的两种方案对比
下一篇:Vue里的过滤器

相关推荐

  • 🔥 2020年从基础到进阶,测试你有多了解 JavaScript,刷新你的知识!🚀

    【译】JavaScript 进阶问题列表 从基础到进阶,测试你有多了解 JavaScript,刷新你的知识 答案在问题下方的折叠部分,点击即可展开问题。 1. 输出是什么? A: Lydi...

    5 个月前
  • 高效遍历匹配Json数据,避免嵌套循环

    工作中经常会遇到这样的需求: 1.购物车列表中勾选某些,点击任意一项,前往详情页,再返回购物车依旧需要呈现勾选状态 2.勾选人员后,前往别的页面,再次返回,人员依旧程勾选状态 3.等等.......

    2 年前
  • 面试题|手写JSON解析器

    这周的 Cassidoo 的每周简讯有这么一个面试题:: 写一个函数,这个函数接收一个正确的 JSON 字符串并将其转化为一个对象(或字典,映射等,这取决于你选择的语言)。

    3 个月前
  • 面试必须了解的前端模块化演进历程

    阅读提示: 本文很多外链需要科学上网访问 对于 JavaScript 新手,看到 "CommonJS vs AMD" 、"Requirejs vs Seajs"、"Webpack vs. Brow...

    4 个月前
  • 面试官:你了解过移动端适配吗?

    1、为什么要移动端适配? 一般情况下设计稿的设计师按照375的尺寸设计,然而,在现在移动终端(就是手机)快速更新的时代,每个品牌的手机都有着不同的物理分辨率,这样就会导致,每台设备的逻辑分辨率也不尽相...

    2 个月前
  • 面试官:bind两次的结果了解一下

    背景 最近帮助组内进行技术面试,听到有人问了个很有意思的问题,函数bind两次后this指向。平时使用和问的比较多的都是bind接收的参数和bind后的this指向问题,bind多次还真没去想过。

    5 个月前
  • 面试官问你有没有了解过 vue-cli 构建的打包工程

    (前言 "前言")前言 使用过 vue 进行项目开发的同学,一定知道或者使用过 vuecli 脚手架,他能够很好的搭建项目结构和工程,让我们能够把足够的精力放在业务开发上。

    2 年前
  • 面试官问你有没有了解过 javascript 垃圾回收机制

    我们通常理解的 javascript 垃圾回收机制都停留在表面,"会释放不被引用变量内存",最近在读《深入浅出node.js》的书,详细了解了下 v8 垃圾回收的算法,记录了一些学习笔记。

    2 年前
  • 隐藏某些价值观输出stringify() JSON。

    Evan CarrollNilesh(https://stackoverflow.com/users/124486/evancarroll)提出了一个问题:Hide certain values in...

    2 年前
  • 随着Nodejs JSON对象响应(转换对象数组JSON字符串)

    Rudolf Olahclimboid(https://stackoverflow.com/users/9903/rudolfolah)提出了一个问题:Responding with a JSON o...

    2 年前

官方社区

扫码加入 JavaScript 社区