您现在的位置是:网站首页> 编程资料编程资料
JSON.parse处理非标准Json数据出错的解决_javascript技巧_
2023-05-24
339人已围观
简介 JSON.parse处理非标准Json数据出错的解决_javascript技巧_
JSON.parse处理非标准Json数据出错
标准json格式
通常我们在编码中使用的object是类似于下面这种:
let object = { key1: 'value1', key2: 'value2', ... }这样的对象在代码中键是不需要用引号括起来的。但是标准Json的格式应该是如下:
{ "key1": "value1", "key2": "value2", ... }键值都需要用双引号括起来(不能用单引号)。
有时候后台传给前台的数据被转成了字符串形式,并且是各种不标准的json格式,这时候js中使用JSON.parse会报错。
解决方法
可以使用强大的eval()函数 处理非标准json,使用方式如下:
json_string = "{key1: 'value1', key2: 'value2',}"; let json_data = eval('(' + json_string + ')');eval主要是js的解析器封装函数,功能非常强大
JSON.parse报错分析
1.报错提示:
Uncaught SyntaxError: Unexpected token N in JSON at position 0
JSON.parse(NaN) JSON.parse('NaN')2.报错提示:
Uncaught SyntaxError: Unexpected token u in JSON at position 0
JSON.parse(undefind) JSON.parse('undefind')3.报错提示:
Uncaught SyntaxError: Unexpected token o in JSON at position 1
JSON.parse({a:2})4.报错提示:
Uncaught SyntaxError: Unexpected token a in JSON at position 1
JSON.parse('{a:2}')5.报错提示:
Unexpected token ' in JSON at position 1
JSON.parse("{'a':11}")6.正确格式:
JSON.parse('{"a":11}'**关于 JSON.parse
JSON.parse 用于解析 JSON 字符串,并返回相应的值,其参数必须符合 JSON 字符串的格式,否则就会报错。
JSON 是一种语法,用来序列化对象、数组、数值、字符串、布尔值和 null。
JSON 对象和数组的属性名必须是双引号括起来的字符串,并且最后一个属性后不能有逗号。
JSON 字符串也要用双引号括起来。
JSON 数值禁止出现前导零(JSON.stringify方法自动忽略前导零,而在 JSON.parse方法中将会报错);如果有小数点,则后面至少跟着一位数字。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。
相关内容
- Vue组件间的通信方式详析_vue.js_
- JavaScript中DOM和BOM原理详析_javascript技巧_
- Vue实现拖拽穿梭框功能四种方式实例详解_vue.js_
- Qiankun原理详解JS沙箱是如何做隔离_JavaScript_
- React路由规则定义与声明式导航及编程式导航分别介绍_React_
- package.json依赖环境相关属性详解_JavaScript_
- React css-in-js基础介绍与应用_React_
- TS 中的类型推断与放宽实例详解_其它_
- vue两个输入框联动校验方式(最大值-最小值)_vue.js_
- 解读element el-upload上传的附件名称不显示 file-list赋值_vue.js_
