概述
1. 我们知道,DO对象写入到外部文件的时候需要进行序列化的过程,但是有时不注意就会出现IOUtils.write(xxxDO)或者IOUtils.writeLines(xxxDO)的低级错误,而且有时却貌似也行得通,有这种假像的原因是在xxxDO对象中可能定义了toString()方法,但其实如果想得到具体json数据格式就会带来漏数据和得不到正确结果的麻烦。
2. Object(一般是Map)向json的转换:
同上面的问题,容易错误的这样转换: JSON.toString(List<xxxDO>)其实这种转换时没法与json挂上钩的,即使有数据,也是调用的了xxxDO中的toString()方法,而没有真正转换成json。
正确的方式是:JSON.toString( List<Map<String,TaskDefine>>),才能将他转换成正确的json串。
3. Json向Object(一般是Map)的转换:
List<HashMap> dataMap = JSON. parseArray(xxxJsonString, HashMap.class );这种方式中xxxJsonString格式一般是:
[
{key:value},
{key:value},
....
{key:value}
]
Map<String,Map<String,Object>> datas = JSON.parseObject(xxxJsonString, Map. class );
这种方式xxxJsonString格式一般是:
{
key:{
{key:value}
{key:value}
},
....
key:{
{key:value}
{key:value}
}
}
总结:{}会转换成一个map,[]转换成List<Map>,当然他们是可以嵌套的。转换成map后,json中的”:”号转换成了“=”号。
最后
以上就是震动毛巾为你收集整理的json和map的转换总结的全部内容,希望文章能够帮你解决json和map的转换总结所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复