原文:http://blog.csdn.net/figo645/article/details/48413571

开始学习JSON了,那么很自然的,我开始要熟悉一些基本的JSON语法

{}代表对象,[]代表数组,好了,看起来都挺简单的。

然后我开始学着用json-lib来转换对象到json

先来看一段代码

  1. public void JSONObjectTest001() {
  2. JSONObject jsonObject = JSONObject.fromObject(new Book());
  3. System.out.println(jsonObject);
  4. }

可是光这样是不能执行的,我们还需要有maven的包依赖配合

  1. <dependency>
  2. <groupId>net.sf.json-lib</groupId>
  3. <artifactId>json-lib</artifactId>
  4. <version>2.4</version>
  5. <classifier>jdk15</classifier>
  6. </dependency>

关于为什么在classifier这里加入jdk15我在另一篇文章中有提到过,这里就不多说了

然后开始从JSON对象转换成XML

  1. public void JSONObjectToXML001() {
  2. JSONObject jsonObject = JSONObject.fromObject(new Book());
  3. try {
  4. XMLSerializer xml = new XMLSerializer();
  5. String xmlStr = xml.write(jsonObject);
  6. System.out.println(xmlStr);
  7. } catch (Exception e) {
  8. e.printStackTrace();
  9. }
  10. }

好了,这么一来看起来不错吧,但是问题就来了,报了个错误

  1. Exception in thread "main" java.lang.NoClassDefFoundError: nu/xom/Serializer
  2. at cn.edu.ken.commons.TestMain.JSONObjectToXML001(TestMain.java:17)
  3. at cn.edu.ken.commons.TestMain.main(TestMain.java:28)
  4. Caused by: java.lang.ClassNotFoundException: nu.xom.Serializer
  5. at java.net.URLClassLoader$1.run(URLClassLoader.

别急,我去网上又搜索了一下,果然是少了什么包,好原来是少了XOM的包,那么我们用maven再次导入

  1. <dependency>
  2. <groupId>xom</groupId>
  3. <artifactId>xom</artifactId>
  4. <version>1.2.5</version>
  5. </dependency>
 

这样,程序执行后,xml就正常的输出了

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <o><author type="string"/><id type="number">0</id><name type="string"/></o>

最后来总结下,xom是个什么东西

根据http://www.xom.nu/解释:XOM™ is a new XML object model. It is an open source (LGPL), tree-based API for processing XML withJavathat strives for correctness, simplicity, and performance, in that order.

是新型的xml对象模型,开源,树形的Java api。好处就是可以有保证xml的正确性,渐变性和高执行性能。

json转xml报[java.lang.NoClassDefFoundError: nu/xom/Serializer]的更多相关文章

  1. 用dom4j解析xml 报java.lang.NoClassDefFoundError:org/jaxen/JaxenException

    转自:http://www.myexception.cn/java%20exception/95.html 源码如下: import java.io.File; import java.util.Li ...

  2. Eclipse下执行main函数报java.lang.NoClassDefFoundError的解决

    今天执行eclipse下的一个java类,无论run还是debug,都报java.lang.NoClassDefFoundError.而且把main中函数都注释掉,执行还是报一样的错. 检查了一下这个 ...

  3. 我的Android进阶之旅------>Android项目运行报java.lang.NoClassDefFoundError错误的解决办法

    今天在运行一个Android项目的时候,报了以下错误: D/AndroidRuntime( 3859): Shutting down VM E/AndroidRuntime( 3859): FATAL ...

  4. spring boot 启动报 java.lang.NoClassDefFoundError: ch/qos/logback/core/spi/LifeCycle 错误

    Failed to instantiate SLF4J LoggerFactory Reported exception: java.lang.NoClassDefFoundError: ch/qos ...

  5. Spring配置c3p0数据源时出错报:java.lang.NoClassDefFoundError: com/mchange/v2/ser/Indirector

    今天在使用Spring配置c3p0数据源时,使用的数据库是mysql,服务器是tomcat,运行时报了一个 java.lang.NoClassDefFoundError: com/mchange/v2 ...

  6. myeclipse6.5使用tomcat7报java.lang.NoClassDefFoundError: org/apache/juli/logging/LogFactory错

    Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/juli/logging/LogFact ...

  7. Jackson转换对象为json的时候报java.lang.stackoverflowerror

    无论在将一个对象转为json字符串的时候采用何种算法,如果你的对象的属性的类型不是基本类型或对应的引用类型,转换应该都不会就此结束,那么有一种方式可以导致这种转换陷入无限循环:将某个对象的属性设为对象 ...

  8. 使用@FeignClient时,报java.lang.NoClassDefFoundError: feign/Feign$Builder错

    错误信息: Caused by: java.lang.ClassNotFoundException: feign.Feign$Builder at java.net.URLClassLoader.fi ...

  9. 【springcloud】使用@FEIGNCLIENT时,报JAVA.LANG.NOCLASSDEFFOUNDERROR: FEIGN/FEIGN$BUILDER错

    引用地址:http://www.cnblogs.com/ellacan/p/8822374.html 错误信息: Caused by: java.lang.ClassNotFoundException ...

随机推荐

  1. Python 语言规范

    Python 语言规范 pychecker  对你的代码运行pychecker 定义: pychecker 是一个在Python 源代码中查找bug 的工具. 对于C 和C++这样的不那 么动态的( ...

  2. vue 高度 动态更新计算 calcHeight watch $route

    vue 高度 动态更新计算 calcHeight () { // this.tableHeight = window.innerHeight - 210 } }, mounted () { // co ...

  3. Vue之computed与watch的使用

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. NTP服务和DNS服务

    1.NTP时间服务器 作用:NTP主要用于对计算机的时间同步管理操作 1.1  NTP部署 服务端:192.168.16.6 客户端:192.168.16.7 [root@localhost ~]# ...

  5. python抓取知识星球精选帖,制作为pdf文件

    版权声明:本文为xing_star原创文章,转载请注明出处! 本文同步自http://javaexception.com/archives/90 背景: 这两年知识付费越来越热,我也加入了不少知识星球 ...

  6. 【51nod 1791】 合法括号子段

    有一个括号序列,现在要计算一下它有多少非空子段是合法括号序列. 合法括号序列的定义是: 1.空序列是合法括号序列. 2.如果S是合法括号序列,那么(S)是合法括号序列. 3.如果A和B都是合法括号序列 ...

  7. Vue编写轮播组件引入better-scroll插件无法正常循环轮播

    临近过年还是发个博客表示一下自己的存在感,这段时间公司突然说想搞小程序,想到这无比巨大的坑就只能掩面而泣,于是乎这段时间在学习小程序开发.关于标题所说的是有老铁问的,我也跟着网上的代码码了一遍然后发现 ...

  8. 大数据学习——sqoop入门

    下载地址 https://pan.baidu.com/s/1qWDl29L9I_KVU54c0ioNfQ fvfh 3.1 概述 sqoop是apache旗下一款“Hadoop和关系数据库服务器之间传 ...

  9. xtu DP Training C.炮兵阵地

    炮兵阵地 Time Limit: 2000ms Memory Limit: 65536KB This problem will be judged on PKU. Original ID: 11856 ...

  10. MySQL语句之or和and多条件查询

    在where中可以包含任意数目的and和or操作符,需要注意的是在没有任何其他符号的时候,例如括号,AND的优先级高于OR,因此,当两者一起使用时,先运算AND两边的条件表达式,再运算OR两边的条件表 ...