js中将json字符串转换成json对象_字符串零终止符

js中将json字符串转换成json对象_字符串零终止符今天遇到一个奇怪的问题,解析二维码后获得了一个JSON字符串,将JSON字符串转换成JSON对象的时候报错了。报错如下:代码如下:检查了无数次数据,数据是JSON字符串,引号也都是英文的,就是莫名其妙的转换不了。最后无奈了,终于找到一个解决办法,不用JSON.parse(xx)转换,用eval(‘(‘+xx+’)’)方法转换,最终解决了这个问题,虽然我还是不明白为什么JSON.parse转换会报错,有知道原因的大神吗?解决方法:数据如下:language{“ID”:”98-FA-9B

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

今天遇到一个奇怪的问题,解析二维码后获得了一个JSON字符串,将JSON字符串转换成JSON对象的时候报错了。

报错如下:

image.png
代码如下:

image.png

检查了无数次数据,数据是JSON字符串,引号也都是英文的,就是莫名其妙的转换不了。

image.png

最后无奈了,终于找到一个解决办法,不用JSON.parse(xx)转换,用eval(’(’+xx+’)’)方法转换,最终解决了这个问题,虽然我还是不明白为什么JSON.parse转换会报错,有知道原因的大神吗?

解决方法:
image.png

数据如下:

{"ID":"98-FA-9B-B7-D2-E7"}

最后解释为什么eval转换JSON对象需要加一对小括号,因为加上圆括号的目的是迫使eval函数在处理JavaScript代码的时候强制将括号内的表达式(expression)转化为对象,而不是作为语句(statement)来执行。举一个例子,例如对象字面量{},如若不加外层的括号,那么eval会将大括号识别为JavaScript代码块的开始和结束标记,那么{}将会被认为是执行了一句空语句。

代码如下:

alert(eval("{}");  // return undefined
alert(eval("({})");// return object[Object]
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/189131.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 西门子PLC_300F系列PLC_初始化MMC卡实验教程 S_L01[通俗易懂]

    西门子PLC_300F系列PLC_初始化MMC卡实验教程 S_L01[通俗易懂]西门子300F安全PLC忘记安全密码没有读卡器如何清空MMC卡西门子300FPLC安全密码操作前注意事项本次实验使用的硬件设备将新硬件进行组态和IP分配使用此硬件配合MMC进行操作西门子300FPLC安全密码300系列PLC在下载程序前必须设定一个安全密码,此密码会写在MMC卡里面,而且无法通过PLC拨码初始化,如果忘记密码可以通过使用西门子官方读卡器进行格式化,但是绝对不能插在普通读卡器或者带有读卡器的电脑上,这样操作会导致内存卡误格式化,损坏MMC卡。本实验将讲解如何在没有西门子官方读卡器的情

  • 政府大数据应用案例,政府大数据治理方法[通俗易懂]

    政府大数据应用案例,政府大数据治理方法[通俗易懂]​大数据不仅将改变生产方式、生活方式,社会组织方式尤其是政府治理也将因之发生深刻变革。以大数据提升政府治理能力是大势所趋。科技革命的加速推进特别是大数据时代的到来,迫切要求政府治理加快。大数据将成为加快政府治理能力现代化的最重要、最有力推手。在大数据思维下,基于大数据的科学决策、精细管理、精准服务将成为常态,将大大推动政府管理理念和社会治理模式进步,推进法治政府、创新政府、廉洁政府、智慧政府和服务型政府建设,逐步实现治理能力现代化。政府如何利用大数据提升治理水平?1.用数据说话治理理念的转变是提高政府

  • 1、Cocos2dx 3.0游戏开发三找一小块前言[通俗易懂]

    1、Cocos2dx 3.0游戏开发三找一小块前言

  • x86和x64的区别[通俗易懂]

    x86和x64的区别[通俗易懂]整理了下网上的资料,归类了下,大似表述是这样的:IBM/PC兼容机,也就是Intel的i80x86指令架构,就简称了x86。x86并不是指32位环境,而是指80×86架构,这个架构目前有32位,64位

  • 模仿学习(Imitation Learning)概述

    模仿学习(Imitation Learning)概述本篇文章是基于台大李宏毅老师的课程写的,如有疏漏,请看原课程。https://www.youtube.com/watch?v=rl_ozvqQUU81.什么是模仿学习?模仿学习(ImitationLearning)也被称为基于演示的学习(LearningByDemonstration)或者学徒学习(ApprenticeshipLearning)。机器是可以与环境进行交互的,但…

  • 简单粗暴无需拼接下载 blob (ts)视频文件

    简单粗暴无需拼接下载 blob (ts)视频文件网上很多视频采用blob来播放视频,查看源码会发现video的src为形如:src=”blob:https://*/f2880c6a-c2c5-4146-96b2-944ae555b76a”<videoid=””class=””preload=”auto”playsinline=”playsinline”webkit-playsinline=””x5-playsinl…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号