list和json之间的转换

使用有的时候要用到了list和json之间的相互转换,脑袋里面条件反射出来了jsonarray。直接使用eclipse输入jsonarray的时候出来了好几个不同的包下的jsonarray,正确应该使用net.sf.json.JSONArray;这个包下面的。

然后直接加载了json-lib-2.4这个jar包,然后开始使用转换的时候,一直报错java.lang.NoClassDefFoundError:org/apache/commons/lang/exception/NestableRuntimeException  

开始没有理会这个错误,以为是自己的编写代码的问题。后来突然反应过来NoClassDefFoundError这个错误是没有jar包导致的。然后就开始找其相应的jar包。commons-lang-2.4.jar。加入这个jar包之后。错误信息改变为java.lang.NoClassDefFoundError: net/sf/ezmorph/Morpher ,然后就继续添加jar包ezmorph-1.0.4.jar。为了怕还是出错,我就一次性把所有和这个有关的jar都找了出来。

commons-beanutils

commons-collections

commons-lang

commons-logging

ezmorph

json-lib

名字可能后续版本有一定的改变。然后就可以进行相应的转换。当list转换成json的时候。我开始使用的是fromObject.add(list)这个方法,然后再将json转换之后发现外面有两个中括号,后来发现这个方法是将他先封装到一个list容器里面,然后再转换json所以有两个中括号。使用fromObject.addAll(list);这个方法的时候就没有问题了。

其次

在json转换成list的时候,jsonarray里面方法特别多,我一个个查找的时候,我看那个返回值是一个object我就使用那个方法。因为我要得到一个对象。首先使用的是toArray这个方法,最后发现得到的是一个对象。我自己傻了,其实怪我自己,没有去留言的方法名。反应过来之后就使用了toCollection这个方法,就可以得到一个集合了。


你可能感兴趣的:(java)