首页IT科技json不规范如何处理(JSON.parse处理非标准Json数据出错的解决)

json不规范如何处理(JSON.parse处理非标准Json数据出错的解决)

时间2025-09-19 11:26:53分类IT科技浏览6285
导读:JSON.parse处理非标准Json数据出错 标准json格式...

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方法中将会报错);如果有小数点                           ,则后面至少跟着一位数字                           。

以上为个人经验                          ,希望能给大家一个参考,也希望大家多多支持本站                 。

声明:本站所有文章                  ,如无特殊说明或标注                          ,均为本站原创发布。任何个人或组织         ,在未征得本站同意时                  ,禁止复制                          、盗用                 、采集         、发布本站内容到任何网站                           、书籍等各类媒体平台                           。如若本站内容侵犯了原著者的合法权益                          ,可联系我们进行处理                          。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
python中建立列表(python列表的创建和存放)