java json数组转xml
时间: 2023-11-14 08:06:55 浏览: 102
在Java中,可以使用json-libjar包中的工具类来实现json数组转xml。具体步骤如下:
1. 创建一个JSONObject对象,将json字符串转换为JSONObject对象。
2. 创建一个Document对象,用于生成XML文档。
3. 遍历JSONObject对象,将每个键值对转换为XML元素,并添加到Document对象中。
4. 将Document对象转换为XML字符串。
下面是一个简单的示例代码:
```
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import net.sf.json.xml.XMLSerializer;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import java.util.Iterator;
public class JsonToXml {
public static void main(String[] args) throws ParserConfigurationException {
String jsonStr = "[{\"name\":\"John\",\"age\":30,\"city\":\"New York\"},{\"name\":\"Jane\",\"age\":25,\"city\":\"San Francisco\"}]";
JSONArray jsonArray = JSONArray.fromObject(jsonStr);
Document doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument();
Element root = doc.createElement("root");
doc.appendChild(root);
Iterator<JSONObject> iterator = jsonArray.iterator();
while (iterator.hasNext()) {
JSONObject jsonObject = iterator.next();
Element element = doc.createElement("person");
root.appendChild(element);
Iterator<String> keys = jsonObject.keys();
while (keys.hasNext()) {
String key = keys.next();
Element subElement = doc.createElement(key);
subElement.setTextContent(jsonObject.getString(key));
element.appendChild(subElement);
}
}
XMLSerializer xmlSerializer = new XMLSerializer();
String xmlStr = xmlSerializer.write(doc);
System.out.println(xmlStr);
}
}
```
阅读全文