我正在尝试将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);
}
}
答案 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>