导航:首页 > 编程语言 > 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转换字符报错相关的资料

热点内容
如何打开ps保存的文件 浏览:744
幼儿编程教育有哪些 浏览:453
汽车发外地用什么app 浏览:810
网络如何赞美女人漂亮 浏览:143
如何把桌面文件放到excel里面 浏览:363
照片文件名是怎么查的 浏览:876
c怎么在cmd模式下显示文件 浏览:325
手机怎么把文件夹的图片移到相册 浏览:440
hjc是啥文件的格式 浏览:298
报废铁皮文件柜图片 浏览:801
win10系统更新文件能 浏览:558
怎么让苹果手机下载其他APP 浏览:471
多个cs文件编译成一个dll 浏览:606
sql管理工具70 浏览:130
js里面的图片对齐 浏览:965
三星2016视频文件夹 浏览:317
旧手机创新手机数据怎么传 浏览:954
怎么删除领克app里的记录 浏览:254
捷波朗弦月3最新版本 浏览:123
win10保存不了文件 浏览:735

友情链接