XML转Json

今天老谢问 我有没有 XML 转 Json的工具,稍一回想,好像没有!

XML和Json 作为配置文件中的顶梁柱,用的好像还是满多的,so 顺手了解下?

考虑到去除平台依赖工具,简单粗暴就Java。  fastjson, dom4j, 后面考虑到格式化输出 用 jackson(挺费劲儿,但一时也没找到更好的办法)。

String xmlStr= new String('{"key":"some json string!"}');
Document doc= DocumentHelper.parseText(xmlStr); 
JSONObject jo = dom4j2Json(doc.getRootElement());
System.out.println("dom4j2Json:"+jo.toJSONString());

fastjson GitHub:   https://github.com/alibaba/fastjson

jar包下载:  https://search.maven.org/remote_content?g=com.alibaba&a=fastjson&v=LATEST 

dom4j jar包下载:  https://search.maven.org/remotecontent?filepath=dom4j/dom4j/20040902.021138/dom4j-20040902.021138.jar

(jackson相关参考一) https://blog.csdn.net/accountwcx/article/details/24585987   

官网下载Jackson工具包,下载地址http://wiki.fasterxml.com/JacksonDownload。Jackson有1.x系列和2.x系列,截止目前2.x系列的最新版本是2.2.3,2.x系列有3个jar包需要下载:

jackson-core-2.2.3.jar(核心jar包,下载地址

jackson-annotations-2.2.3.jar(该包提供Json注解支持,下载地址

jackson-databind-2.2.3.jar(下载地址

(jackson相关参考二)http://hao.jobbole.com/jackson/ 

  • 核心包:JsonPaser(json流读取),JsonGenerator(json流输出)。
  • 数据绑定包:ObjectMapper(构建树模式和对象绑定模式),JsonNode(树节点)。
import com.fasterxml.jackson.databind.ObjectMapper;

ObjectMapper mapper = new ObjectMapper();
System.out.println(mapper.writeValueAsString(demo));
System.out.println(mapper.writerWithDefaultPrettyPrinter().writeValueAsString(demo));

后面老谢又问,能不能格式化输出成 lua? 很自然的想到 用quick自带的json库, 转换成 lua table 后直接dump出来就好咯。

原文地址:https://www.cnblogs.com/lesten/p/9302159.html