javaXML转JSON格式
代码如下所⽰,从这个例⼦中发现了代码库的重要性,如果建⽴⼀个⾃⼰的代码库,就可以直接从⾃⼰的代码库中取出来,这样需要什么就可以随时的取出来.代码库要保证的是规范性和正确性,并且有简单的模块注释.
这是今天在⽹上到的XML转json格式的代码,⼈家封装的很快,节省了我很多时间啊.
import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.InputStream;
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 Xml2JsonUtil {
/**
* 转换⼀个xml格式的字符串到json格式
*
* @param xml
* xml格式的字符串
* @return 成功返回json 格式的字符串;失败反回null
*/
@SuppressWarnings("unchecked")
public static String xml2JSON(String xml) {
JSONObject obj = new JSONObject();
try {
InputStream is = new Bytes("utf-8"));
SAXBuilder sb = new SAXBuilder();
Document doc = sb.build(is);
Element root = RootElement();
obj.Name(), iterateElement(root));
String();
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
/**
* 转换⼀个xml格式的字符串到json格式
java xml是什么*
* @param file
* java.io.File实例是⼀个有效的xml⽂件
* @return 成功反回json 格式的字符串;失败反回null
*/
@SuppressWarnings("unchecked")
public static String xml2JSON(File file) {
JSONObject obj = new JSONObject();
try {
SAXBuilder sb = new SAXBuilder();
Document doc = sb.build(file);
Element root = RootElement();
obj.Name(), iterateElement(root));
String();
} catch (Exception e) {
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
/**
* ⼀个迭代⽅法
*
* @param element
* : org.jdom.Element
* @return java.util.Map 实例
*/
@SuppressWarnings("unchecked")
private static Map iterateElement(Element element) {
List jiedian = Children();
Element et = null;
Map obj = new HashMap();
List list = null;
for (int i = 0; i < jiedian.size(); i++) {
list = new LinkedList();
et = (Element) (i);
if (et.getTextTrim().equals("")) {
if (et.getChildren().size() == 0)
continue;
if (Name())) {
list = (List) (et.getName());
}
list.add(iterateElement(et));
obj.Name(), list);
} else {
if (Name())) {
list = (List) (et.getName());
}
list.TextTrim());
obj.Name(), list);
}
}
return obj;
}
// 测试
public static void main(String[] args) {
System.out.println( l2JSON("<MapSet>"
+ "<MapGroup id='Sheboygan'>" + "<Map>"
+ "<Type>MapGuideddddddd</Type>"
+ "<SingleTile>true</SingleTile>" + "<Extension>"
+ "<ResourceId>ddd</ResourceId>" + "</Extension>" + "</Map>" + "<Map>" + "<Type>ccc</Type>" + "<SingleTile>ggg</SingleTile>" + "<Extension>" + "<ResourceId>aaa</ResourceId>"
+ "</Extension>" + "</Map>" + "<Extension />" + "</MapGroup>" + "<ddd>" + "33333333" + "</ddd>" + "<ddd>" + "444" + "</ddd>" + "</MapSet>"));
}
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论