一、问题场景
最近在对接外部接口时,获取到外部接口板返回参数的过程中,出现了转JsonObject错误的异常
expect ':' at 0, actual =
二、问题分析与处理
1、获取到相应的日志文件
2、发现打印出的日志存在下述问题
(1)并非一个对象,是一个数组
(2)字符串的格式是{a=11111,b=2222},正常我们转字符串的格式应该是{“a”:11111,“b”:22222}
3、回到代码上,发现转jsonObj的入参多加了toString
于是出现了{a=11111,b=2222}格式
4、最后代码调整如下:
(1)直接使用JSONObject.toJSONString函数,toString方法没有重写,获取到的也不是json串;
(2)转为JSONArray接收
5、最后部署测试,也获取到对应的返回参数结果了
三、尾言
感谢阅读和指正。
------------------------------------------------------------------------------------------------------------------------------------------------
补充
1、场景
最近做项目的时候,需要把map保存到数据库字段,后续取出来转map再继续使用,开始的时候也是直接把map.toString保存入库,后续转义的时候也是这个问题expect ‘:‘ at 0, actual =
2、分析
普通的tostring() 会把":"变成=,取出来就没办法直接转map
3、处理
map保存的时候使用Gson()方法保存,如下,这样数据取出来可以直接转成map使用。