关闭

XML转JSON

标签: xmltujson
197人阅读 评论(0) 收藏 举报
分类:

惯例:

算了,习惯也是可以改的。我是温浩然。

需求,把一个XML格式文件,改成JSON格式。

代码如下:

import java.io.File;
import java.io.FileNotFoundException;
import java.io.PrintStream;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;

import net.sf.json.JSONObject;

import org.jdom.Document;
import org.jdom.Element;
import org.jdom.input.SAXBuilder;

public class Xml2Json {

	public static void main(String[] args) {
		String path = "C://Users//whr-pc//Desktop//classpath//img//faceMap_ch.plist";  
		
		File file = new File(path);
		
		//生成JSON
		String strJSON = xml2JSON(file);
		
		//日志输出到指定文件中
		PrintStream out;
		try {
			out = new PrintStream("C://Users//whr-pc//Desktop//classpath//img//Systemout.txt");
			
			System.setOut(out);
			System.out.println(strJSON);
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		}  
		
	}
	
	public static String xml2JSON(File file) {  
        JSONObject obj = new JSONObject();  
        try {  
            SAXBuilder sb = new SAXBuilder();  
            Document doc = sb.build(file);  
            String doc2str = doc.toString();
            System.out.println(doc2str);
            Element root = doc.getRootElement();  
            obj.put(root.getName(), iterateElement(root));  
            return obj.toString();  
        } catch (Exception e) {  
            e.printStackTrace();  
            return null;  
        }  
    }
	
	@SuppressWarnings({ "rawtypes", "unchecked" })
	private static Map iterateElement(Element element) {  
        List jiedian = element.getChildren();  
        Element et = null;  
        Map obj = new HashMap();  
        List list = null;  
        for (int i = 0; i < jiedian.size(); i++) {  
            list = new LinkedList();  
            et = (Element) jiedian.get(i);  
            if (et.getTextTrim().equals("")) {  
                if (et.getChildren().size() == 0)  
                    continue;  
                if (obj.containsKey(et.getName())) {  
                    list = (List) obj.get(et.getName());  
                }  
                list.add(iterateElement(et));  
                obj.put(et.getName(), list);  
            } else {  
                if (obj.containsKey(et.getName())) {  
                    list = (List) obj.get(et.getName());  
                }  
                list.add(et.getTextTrim());  
                obj.put(et.getName(), list);  
            }  
        }  
        return obj;  
    } 

}

这个代码是可以复制出来用的,完全没有问题。

只是,我在导入JSON的jar包的时候,遇到了各种问题,每个问题,都是缺少jar包。

到最后,文中需要的jar包,剩下如图下的几个:


唉,剩下的也没测试删了可以不可以,应该是都必须要把。

其中,除了jdom-1.0.jar,别的好像都是JSON所需的jar包。


这些包,网上都有,自己下载吧,然后,运行就可以用了,运行单个java文件的方法,看我另一篇日志。

0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

c++实现Xml和json互转

1、下载c语言的cJson库源码,库很小,只有两个文件cJSON.c和cJSON.h。下载地址:https://sourceforge.net/projects/cjson/ 2、c++实现Xml和json互转#include "XmlJsonTransfer.h" //#inc...
  • kfy2011
  • kfy2011
  • 2016-06-28 10:55
  • 3121

C# XML与Json之间相互转换实例详解

对于这转换其实很简单,其中最重要的就是先要引用类库。可以到官网进行下载引用http://json.codeplex.com。 XML转换为Json字符串   复制代码 代码如下: string xml = @"      &...
  • LanSeTianKong12
  • LanSeTianKong12
  • 2015-08-24 14:34
  • 2756

xml转json的两种方法

1.第一种方法 使用JSON-JAVA提供的方法 (1)首先去git下载所需的java文件,并导入项目 Git:https://github.com/stleary/JSON-java (2)使用XML.java中提供的XML.toJSONObject(xml)方法即可完成xml到json的转换,同...
  • lom9357bye
  • lom9357bye
  • 2016-11-22 21:28
  • 24082

XML和JSON相互转换类(JAVA)

XML和JSON相互转转类
  • qiaoshuai0920
  • qiaoshuai0920
  • 2016-01-15 09:47
  • 6424

xml转json高效率的java实现

xml转json高效率的java实现,效率是json-lib的4倍,引用jar少
  • tkggetg
  • tkggetg
  • 2015-08-19 17:54
  • 7037

JAVA实现XML与JSON互相转换方法(含源码) / xml转json的两种方法(个人实现的)

点读微讯 2017-04-27 15:43 XML转换为Json /** * XML转换为JSON * 2017-4-27 15:32:53 * @param xml * @return */ public static String xmlToJson(String xml) { XMLS...
  • u011277123
  • u011277123
  • 2017-04-28 11:50
  • 1591

XML转换成JSON

JSON转换成XML、XML转换成JSON
  • yuxiangaaaaa
  • yuxiangaaaaa
  • 2016-08-26 17:25
  • 5181

python 不借助第三方包实现xml转json

xml转json?猛一听是不是挺蛋疼的,都是结构化数据的格式有这转换的必要么?是的,其实我也觉得无聊,不过手痒痒,总想来试试。网上也能找到一款名为xmltodict的转换工具,也挺好用的。我的方法如下,原理很简单,代码也很短。
  • laoyaotask
  • laoyaotask
  • 2014-11-22 19:48
  • 4814

xml字符串转换为json对象

前段时间在做一个生活缴费项目,需要调用一个第三方缴费平台的接口,这个平台是基于http请求,但是返回的内容是xml字符串。当时是想把xml字符串直接转换为对象,但是各个接口返回的内容都不同,无法转换为通用对象,只能每个接口单独转换。后来想把底层调用方法做统一封装,由业务直接调用,具体数据交由业务去判...
  • duguwuyi
  • duguwuyi
  • 2016-05-25 19:01
  • 6827

Java中将xml文件转化为json的两种方式

最近一直没有时间写博客,忙着找房子,天天来回折腾,光地铁费就花了不少,最后综合各种因素考虑,决定沙河高教园,哈哈,没错,别人都是越搬离公司越近,我是越搬越远,但是直觉告诉我应该没有错,昨天晚上刚搬完家,收拾收拾终于安定了,坑爹的二房东再见,以后如果不出什么特殊情况的话应该是有时间写博客了。。。。 ...
  • a532672728
  • a532672728
  • 2017-07-29 15:09
  • 1591
    个人资料
    • 访问:410643次
    • 积分:5312
    • 等级:
    • 排名:第5985名
    • 原创:157篇
    • 转载:103篇
    • 译文:1篇
    • 评论:40条
    最新评论