JSON是主要应用于JavaScript的格式文件,具有轻便、简洁的特点,XML文件常常是记录各种结构式信息的载体,在实际web应用中,常常需要将XML文件的信息读取进来转化为JSON形式,方便脚本的调用。网络上已经有许多优秀的JAR助于实现这个功能,下面是一种实现方式:
首先要准备一些必须的包,如下图,
其核心是json-lib,里面的JSON类可以将流化的XML文件信息转化为JSON格式的信息,代码如下,实现一个窗口组件能把一个XML文件转化为JSON文件:
package com.xmltojson;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.Map;
import javax.swing.*;
import javax.swing.filechooser.FileFilter;
import java.awt.*;
import net.sf.json.JSON;
import net.sf.json.JSONObject;
import net.sf.json.xml.XMLSerializer;
import org.apache.commons.io.IOUtils;
public class XMLToJSON extends JFrame implements ActionListener {
private JButton choose,convert;
private JPanel jp;
private JTextArea jta;
private JFileChooser jfc;
private String xpath=null;
private StringBuffer opath=new StringBuffer("");
public XMLToJSON(){
choose=new JButton("choose file");
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.Map;
import javax.swing.*;
import javax.swing.filechooser.FileFilter;
import java.awt.*;
import net.sf.json.JSON;
import net.sf.json.JSONObject;
import net.sf.json.xml.XMLSerializer;
import org.apache.commons.io.IOUtils;
public class XMLToJSON extends JFrame implements ActionListener {
private JButton choose,convert;
private JPanel jp;
private JTextArea jta;
private JFileChooser jfc;
private String xpath=null;
private StringBuffer opath=new StringBuffer("");
public XMLToJSON(){
choose=new JButton("choose file");