使用Java将JSON转换为XML

时间:2016-03-29 16:47:04

标签: java json xml

我正在尝试将JSON转换为XML。但是我收到一个org.json无法解决的错误。我还导入了外部jar文件java-json.jar。以下是我的java代码:

import org.json.JSONObject;
public class JsontoXML{
  public static void main(String args[])
  {
    String str ={'name':'JSON','integer':1,'double':2.0,'boolean':true,'nested' {'id':42},'array':[1,2,3]}"; 
    JSONObject json = new JSONObject(str);
    String xml = XML.toString(json);
    System.out.println(xml);

  }

}

3 个答案:

答案 0 :(得分:4)

你的申请没问题。你需要一个格式良好的JSON对象。

源代码

package algorithms;

import org.json.JSONObject;
import org.json.XML;
public class JsonToXML{
public static void main(String args[])
{
    JSONObject json = new JSONObject("{name: JSON, integer: 1, double: 2.0, boolean: true, nested: { id: 42 }, array: [1, 2, 3]}");

    String xml = XML.toString(json);
    System.out.println(xml);

  }
}

查看上面的例子。

<强>输出:

<boolean>true</boolean><array>1</array><array>2</array><array>3</array><double>2.0</double><name>JSON</name><integer>1</integer><nested><id>42</id></nested>

答案 1 :(得分:0)

您的问题与jar有关。您需要导入org.json包才能使XML方法起作用。

如果您正在使用maven尝试:

[SuppressMessage("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily", Justification = "Ignored this warning")]

或者从this maven repo下载jar并添加到您的库中。

答案 2 :(得分:0)

Underscore-java可以将json转换为xml:

String json = "{\"name\":\"JSON\",\"integer\":1,\"double\":2.0,\"boolean\":true,\"nested\": {\"id\":42},"
    + "\"array\":[1,2,3]}";
String xml = U.jsonToXml(json);
System.out.println(xml);

输出:

<?xml version="1.0" encoding="UTF-8"?>
<root>
  <name>JSON</name>
  <integer number="true">1</integer>
  <double number="true">2.0</double>
  <boolean boolean="true">true</boolean>
  <nested>
    <id number="true">42</id>
  </nested>
  <array number="true">1</array>
  <array number="true">2</array>
  <array number="true">3</array>
</root>