导航:首页 > 编程语言 > json转换字符报错

json转换字符报错

发布时间:2023-06-15 18:02:25

js解析json字符串报错解决方案(带有转义字符的json字符串)

场景:从后台请求回来的数据中带有json格式的字符串,需要处理成json对象才能进行操作。

JSON.parse():

        使用JSON.parse方法来解析json字符串。

   

报错:      Uncaught SyntaxError: Unexpected token } in JSON at position 30

                Uncaught SyntaxError: Unexpected token ' in JSON at position 1

           这种报错是由于,json字符串的格式有问题,json字符串中对象的最后一个元素后面不可以再加','逗号了。比如'{ "name": "cxh", "sex": "man",}'使用JSON.parse()就会报错,而且 在json字符串中键值对需要用双引号引起来。

解决方案:使用eval()

报错:SyntaxError: Unexpected token e in JSON at position 1

        由于请求回来的json中带有转义字符,所以才会报这个错误。

解决方案:带有转义字符的json字符串使用json

        json数据使用JSON.parse()有浏览器是不兼容JSON这个对象的,或者有的里面有JSON.parse解析不了的东西,所以暂时还是使用: eval("("+data+")");

        json源数据字符有转义符应该是必须的,你要看解析出来后是否有多余的转义符

json转字符串JSON.stringify总体效果还可以:

前导 0 和小数点报错:SyntaxError: JSON.parse: expected ',' or '}' after property value

                                      SyntaxError: JSON.parse: unterminated fractional number

                                     Uncaught SyntaxError: Unexpected number in JSON at position 25

                                     Uncaught SyntaxError: Unexpected token } in JSON at position 26

                                     

        数字不能用 0 开头,比如01,并且你的小数点后面必须跟着至少一个数字。

㈡ 字符串的JSON转换问题问题,怎么解决

string类型如果要转换成json的话,就需要写成这样的形式,如下:
String jsonStr ="{'id':'11','parentId':'root','refObj':{'existType':'exist','deptType':'emp','treeNodeType':'dept'}}";
JSONObject jsonObj = new JSONObject(jsonStr);
JSONObject refObj = new JSONObject(jsonObj.getString("refObj"));
String existType = refObj.getString("existType");
System.out.println(existType);
jar使用的是org.json.jar

㈢ 我拼成的JSON字符串,然后转换JSON对象成功了,但是到了后台报错.

var json='{'data':[{"flag":"10","uuid":"aaa"},{"flag":"20","uuid":"ccc"}]}';

试下这样

㈣ JSON.parse解析特殊字符报错的解决办法

         let str = JSON.stringify(arr)

         str = encodeURIComponent(str)

   <-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.->

         arr = JSON.parse(decodeURIComponent(str))        // 再还原

《=====================================================》

JSON.stringify() : 用于将 javaScript 值转换为 JSON 字符串;

JSON.parse() :用于将一个 JSON 字符串转换为对象;

encodeURIComponent() :可把字符串作为 URI 组件进行编码,该方法不会对 ASCII 字母和数晌纤字进行编码,也不会对这些 ASCII 标点符号进行编码: - _ . ! ~ * ' ( ) ,其他字符(比如 :;/?:@&=+$,# 这链租些用于分隔 URI 组件的标点符号),都是由一个或多个十六进制宴唤仿的转义序列替换的(链接:https://www.runoob.com/js/javascript-json-stringify.html);

decodeURIComponent() :可对 encodeURIComponent() 函数编码的 URI 进行解码(链接:https://www.runoob.com/jsref/jsref-decodeuricomponent.html)。

㈤ JSON解析错误,出现双引号,反斜杠处理办法

首先json 对象一定是 大括号{绝判颂 开始  ,大括号}并郑结束

int i = jsonString.indexOf("{");   

jsonString = jsonString.substring(i);处理前部分

int j = jsonString.lastIndexOf("}");

jsonString = jsonString.substring(i-1,j+1);处理前后部分

jsonString = jsonString.replaceAll("冲滑\\\\","");  处理反斜杠

//可以通过解析方法解析json字符串了,不过处理过程每一步最好打印校验下,没问题就解析成JSONObject

这里我用的  cn.hutool.json.JSONUtil 来解析的、

阅读全文

与json转换字符报错相关的资料

热点内容
网络中常用的传输介质 浏览:518
文件如何使用 浏览:322
同步推密码找回 浏览:865
乐高怎么才能用电脑编程序 浏览:65
本机qq文件为什么找不到 浏览:264
安卓qq空间免升级 浏览:490
linux如何删除模块驱动程序 浏览:193
at89c51c程序 浏览:329
怎么创建word大纲文件 浏览:622
袅袅朗诵文件生成器 浏览:626
1054件文件是多少gb 浏览:371
高州禁养区内能养猪多少头的文件 浏览:927
win8ico文件 浏览:949
仁和数控怎么编程 浏览:381
项目文件夹图片 浏览:87
怎么在东芝电视安装app 浏览:954
plc显示数字怎么编程 浏览:439
如何辨别假网站 浏览:711
宽带用别人的账号密码 浏览:556
新app如何占有市场 浏览:42

友情链接