广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >JSON.parse处理非标准Json数据出错的解决
  • 771
分享到

JSON.parse处理非标准Json数据出错的解决

2024-04-02 19:04:59 771人浏览 薄情痞子
摘要

目录JSON.parse处理非标准json数据出错标准json格式解决方法JSON.parse报错分析**关于 JSON.parseJSON.parse处理非标准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方法中将会报错);如果有小数点,则后面至少跟着一位数字。

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

--结束END--

本文标题: JSON.parse处理非标准Json数据出错的解决

本文链接: https://www.lsjlt.com/news/168638.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • JSON.parse处理非标准Json数据出错的解决
    目录JSON.parse处理非标准Json数据出错标准json格式解决方法JSON.parse报错分析**关于 JSON.parseJSON.parse处理非标准Json数据出错 标...
    99+
    2022-11-13
  • gin解析json格式的数据出错的处理方案
    写的接口给测试测试,现在还没有页面,直接测试接口。使用 c.BindJSON(&req) 总是报错,大致错误信息如下: err="invalid character ...
    99+
    2022-11-11
  • Ajax向后台传json格式的数据出现415错误怎么解决
    这篇文章主要讲解了“Ajax向后台传json格式的数据出现415错误怎么解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Ajax向后台传json格式的数据...
    99+
    2022-10-19
  • 如何解决处理后台返回json数据格式的问题
    小编给大家分享一下如何解决处理后台返回json数据格式的问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!最近在做一个移动端前端...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作