Java中可以使用多种方式将XML转换为JSON格式,其中常用的方式有两种:使用json-lib和使用org.json。使用json-lib需要引入相应的jar包,而使用org.json则只需要引入两个jar包即可。下面分别介绍这两种方式的实现方法:

使用json-lib实现XML转JSON: 引入依赖:

net.sf.json-lib

json-lib

2.4

jdk15

实现代码:

public static void ConvertXMLtoJSON() {

InputStream is = Test.class.getResourceAsStream("student.xml");

String xml;

try {

xml = IOUtils.toString(is);

System.out.println(xml);

XMLSerializer xmlSerializer = new XMLSerializer();

JSON json = xmlSerializer.read(xml);

System.out.println(json);

System.out.println(json.toString(0));

} catch (IOException e) {

e.printStackTrace();

}

}

使用org.json实现XML转JSON:

引入依赖:

org.json

json

20180813

实现代码:

public static String xml2jsonString() throws JSONException, IOException {

InputStream in = JsonUtils.class.getResourceAsStream("student.xml");

String xml = IOUtils.toString(in);

JSONObject xmlJSONObj = XML.toJSONObject(xml);

return xmlJSONObj.toString();

}

使用json-lib和org.json都可以完成Java对象和JSON的相互转换,但是它们的使用方法和特点略有不同。

使用json-lib的步骤如下:

导入json-lib的jar包和相关依赖jar包。创建JSONObject或JSONArray对象。调用JSONObject或JSONArray的put方法添加属性或元素。调用JSONObject或JSONArray的toString方法将对象转换为JSON字符串。调用JSONObject或JSONArray的fromObject方法将JSON字符串转换为Java对象。

使用org.json的步骤如下:

导入org.json的jar包。创建JSONObject或JSONArray对象。调用JSONObject或JSONArray的put方法添加属性或元素。调用JSONObject或JSONArray的toString方法将对象转换为JSON字符串。调用JSONObject或JSONArray的静态方法fromObject将JSON字符串转换为Java对象。

需要注意的是,json-lib支持更多的数据类型,如Date、Calendar等,而org.json只支持基本数据类型和String类型。此外,json-lib的API更加简单易用,而org.json的API则更加灵活。

下面是使用json-lib的示例代码:

import net.sf.json.JSONArray;

import net.sf.json.JSONObject;

public class JsonLibDemo {

public static void main(String[] args) {

// 创建JSONObject对象

JSONObject jsonObject = new JSONObject();

jsonObject.put("name", "张三");

jsonObject.put("age", 18);

jsonObject.put("gender", "男");

// 创建JSONArray对象

JSONArray jsonArray = new JSONArray();

jsonArray.add("Java");

jsonArray.add("Python");

jsonArray.add("C++");

// 将JSONObject和JSONArray转换为JSON字符串

String jsonStr1 = jsonObject.toString();

String jsonStr2 = jsonArray.toString();

// 将JSON字符串转换为JSONObject和JSONArray

JSONObject jsonObject2 = JSONObject.fromObject(jsonStr1);

JSONArray jsonArray2 = JSONArray.fromObject(jsonStr2);

}

}

下面是使用org.json的示例代码:

import org.json.JSONArray;

import org.json.JSONObject;

public class OrgJsonDemo {

public static void main(String[] args) {

// 创建JSONObject对象

JSONObject jsonObject = new JSONObject();

jsonObject.put("name", "张三");

jsonObject.put("age", 18);

jsonObject.put("gender", "男");

// 创建JSONArray对象

JSONArray jsonArray = new JSONArray();

jsonArray.put("Java");

jsonArray.put("Python");

jsonArray.put("C++");

// 将JSONObject和JSONArray转换为JSON字符串

String jsonStr1 = jsonObject.toString();

String jsonStr2 = jsonArray.toString();

// 将JSON字符串转换为JSONObject和JSONArray

JSONObject jsonObject2 = new JSONObject(jsonStr1);

JSONArray jsonArray2 = new JSONArray(jsonStr2);

}

}

精彩内容

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: