JSON.parse()的使用

134 阅读1分钟

功能

  • 这个代码的作用是把JSON格式字符串转换为js对象(属性名没有双引号);

什么是JSON字符串

    1. json 格式字符串内, key 的位置必须使用 双引号包裹
    1. json 格式字符串内, 必须是 对象或者数组(数组内是一个一个的对象) 的形式;
    1. json 格式字符串内, value 的位置, 如果是 纯数字或者布尔, 不需要包裹
    1. json 格式字符串内, 不能包含函数数据类型
    1. json 格式字符串内, 不允许最后一条数据以后还有一个 逗号(,)
    1. json 格式字符串内, 引号以外的内容, 只有 冒号, 逗号, 大括号, 中括号

js数据类型转换成json格式字符串

  • 语法: JSON.stringify(要转换的js格式数据)

  • 返回值: json 格式字符串

var obj = { name: 'Jack', age: 18, gender: '男' }

var res = JSON.stringify(obj)

json格式字符串转换成js数据类型

  var str = '{"name":"Jack","age":18,"gender":"男"}'

    var res = JSON.parse(str)

   console.log(res)

// Uncaught SyntaxError: Unexpected token a in JSON at position 0

  • 只要看到这个错误, 说明 JSON.parse(xxx) 这个方法执行了

  • xxx 不是一个 json 格式字符串内

  • 你需要找到 xxx 是哪来的

利用json格式实现深拷贝