关于map转为JSONObject的问题

苗码农的码典 2017-01-11 03:09:48
我从数据库获取list<map<string,object>>集合
遍历map.toString:
FOOT_PARENT_ID=0, COL_TYPE=0, NAME=客户别名修改, DISPLAY_LAYOUT=[2,1], COL_CODE=buyerNick, NAV_SORT=22, OPEN_TYPE=false........结果是这样

然后我将 json.putAll(map),将map放进JSONObject中,输出得到
{"FOOT_PARENT_ID":"0","COL_TYPE":"0","NAME":"客户别名修改","DISPLAY_LAYOUT":[2,1],..........

主要是 DISPLAY_LAYOUT=[2,1]转成了DISPLAY_LAYOUT":[2,1],和别的value值有双引号不同
我在数据库该属性是varchar2类型的
导致后来我获取该JSONObject再转成map后封装进类对象时 导致对象中的该displayLayout属性类型错误,不能存进去

我现在的处理方法是将 map 中{或[开头的 保存进map时加个空格 导致DISPLAY_LAYOUT=[2,1] , 在map中他的]后有个
空格, 将map转成JSONObject类型时 ,"DISPLAY_LAYOUT":”[2,1] ”,

这样存是可以存进去了,但是保存到数据库还是有空格, 但是我有些地方的代码的操作取displayLayout属性时 会去掉[],而现在导致
留下个] , 所以我想在不改业务代码的情况下,
能不能让map转成JSONOjbect时 ,"DISPLAY_LAYOUT":“[2,1]“ 这样的形式,这样我保存进类对象中也不会报错了
...全文
670 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
_jant 2017-01-12
  • 打赏
  • 举报
回复
引用 1 楼 bcsflilong 的回复:
DISPLAY_LAYOUT 被JSONObject 当成数组来处理了 你可以考虑DISPLAY_LAYOUT 放入map前做一些处理 看看能不能达到你的目的
赞同, DISPLAY_LAYOUT 在放入map前看是否能够处理成字符串就好了,或者你得到map后,将key为DISPLAY_LAYOUT的value处理成字符串,在转成json串
bcsflilong 2017-01-12
  • 打赏
  • 举报
回复
DISPLAY_LAYOUT 被JSONObject 当成数组来处理了 你可以考虑DISPLAY_LAYOUT 放入map前做一些处理 看看能不能达到你的目的

50,528

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧