功能
- 这个代码的作用是把JSON格式字符串转换为js对象(属性名没有双引号);
什么是JSON字符串
-
- json 格式字符串内, key 的位置必须使用 双引号包裹;
-
- json 格式字符串内, 必须是 对象或者数组(数组内是一个一个的对象) 的形式;
-
- json 格式字符串内, value 的位置, 如果是 纯数字或者布尔, 不需要包裹
-
- json 格式字符串内, 不能包含函数数据类型
-
- json 格式字符串内, 不允许最后一条数据以后还有一个 逗号(,)
-
- 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 是哪来的