本篇文章为你整理了错误提示“com.alibaba.fastjson.JSONException: exepct '[', but string, pos 4, json”解决()的详细内容,包含有 错误提示“com.alibaba.fastjson.JSONException: exepct '[', but string, pos 4, json”解决,希望能帮助你了解 错误提示“com.alibaba.fastjson.JSONException: exepct '[', but string, pos 4, json”解决。
如果,感到此时的自己很辛苦,告诉自己:容易走的都是下坡路,坚持住,因为你正在走上坡路!!!
1、错误提示信息如下:
com.alibaba.fastjson.JSONException: exepct [, but string, pos 4, json : "[{"attrId":33,"attrName":"粗跟"},{"attrId":44,"attrName":"厚底"}]"
at com.alibaba.fastjson.parser.DefaultJSONParser.parseArray(DefaultJSONParser.java:672)
at com.alibaba.fastjson.parser.DefaultJSONParser.parseArray(DefaultJSONParser.java:662)
at com.alibaba.fastjson.parser.DefaultJSONParser.parseArray(DefaultJSONParser.java:657)
at com.alibaba.fastjson.JSON.parseArray(JSON.java:514)
2、原始代码:
List AttributeServiceImpl.AttrValue attrValues = JSON.parseArray( s, AttributeServiceImpl.AttrValue.class);
作用:就是把从数据库中取出来的json字符串解析成List对象。
3、问题分析:
1)网上有说使用:JSON.toJSON(s).toString() 转化一下,于是修改
JSON.parseArray(
JSON.toJSON(s).toString(), AttributeServiceImpl.AttrValue.class);
发现还是报错。
2)直接定义变量试一下:
String s="[{\"attrId\":33,\"attrName\":\"粗跟\"},{\"attrId\":44,\"attrName\":\"厚底\"}]"
JSON.parseArray(
JSON.toJSON(s).toString(), AttributeServiceImpl.AttrValue.class);
发现没有问题,可以运行,那就奇怪了。
3)于是仔细看数据库表中的数据:
终于发现问题,这个json字符串的前后,分别多了一个双引号
于是把前后双引号去掉之后,再进行解析,问题解决。
4、后记:
小问题不大,有时候并不能一眼看出来,很是苦恼 ,需要耐心的找原因,当问题解决之后,才恍然大悟。
以上就是错误提示“com.alibaba.fastjson.JSONException: exepct '[', but string, pos 4, json”解决()的详细内容,想要了解更多 错误提示“com.alibaba.fastjson.JSONException: exepct '[', but string, pos 4, json”解决的内容,请持续关注盛行IT软件开发工作室。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。