王飞亚 发表于 2013-2-5 09:44:32

java中把对象转换成JSON字符串

这两天在做一个AJAX的效果,项目用的是Strsts2,因为是手动配置的Struts2.所以里面的包也是用到哪个包就向里面加哪个包,
先加进去了
1.json-lib-2.1-jdk15.jar
2.struts2-json-plugin-2.2.1.1.jar
两个包.然后是下面是代码
List<Client> clientList = new ArrayList<Client>();
clientList.add(new Client("20100001", "富硕科技", "杭州市余杭区","www.fushuo.com"));
clientList.add(new Client("20100002", "时宇科技", "上海市徐汇区", "www.shiyu.com"));
clientList.add(new Client("20100003", "科健科技", "湖南长沙", "www.kejian.com"));
JSONArray jsonArray = JSONArray.fromObject(clientList);
System.out.print(jsonArray);

后台由List转换成Json字符的时候就有错了,Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/lang/exception/NestableRuntimeException
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
at java.net.URLClassLoader.access$000(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
at com.project.Action.TEST.main(TEST.java:24)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.lang.exception.NestableRuntimeException
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
... 13 more

很显然是少JAR包了,然后google了一段时间终于把包给找齐了除了上面的两个包外,还有以下的几个
1.commons-beanutils-1.7.0.jar
2.commons-collections-3.2.jar
3.commons-lang-2.3.jar
4.commons-logging-1.0.4.jar
5.commons-logging-api-1.1.jar
6.ezmorph-1.0.3.jar
把这几个包加好了以后,好了运行
下面是运行结果,
[{"address":"杭州市余杭区","clientName":"富硕科技","clientID":"20100001","url":"www.fushuo.com"},{"address":"上海市徐汇区","clientName":"时宇科技","clientID":"20100002","url":"www.shiyu.com"},{"address":"湖南长沙","clientName":"科健科技","clientID":"20100003","url":"www.kejian.com"}]
好了搞定!
页: [1]
查看完整版本: java中把对象转换成JSON字符串