对于简单的解决方案,我推荐 Jackson ,因为它只需几行简单的代码就可以将任意复杂的 JSON 转换为 XML。
import org.codehaus.jackson.map.ObjectMapper;
import com.fasterxml.jackson.xml.XmlMapper;
public class Foo
{
public String name;
public Bar bar;
public static void main(String[] args) throws Exception
{
// JSON input: {"name":"FOO","bar":{"id":42}}
String jsonInput = "{\"name\":\"FOO\",\"bar\":{\"id\":42}}";
ObjectMapper jsonMapper = new ObjectMapper();
Foo foo = jsonMapper.readValue(jsonInput, Foo.class);
XmlMapper xmlMapper = new XmlMapper();
System.out.println(xmlMapper.writeValueAsString(foo));
// <Foo xmlns=""><name>FOO</name><bar><id>42</id></bar></Foo>
}
}
class Bar
{
public int id;
}
对于简单的解决方案,我推荐 Jackson ,因为它只需几行简单的代码就可以将任意复杂的 JSON 转换为 XML。
该演示使用 Jackson 1.7.7 (较新的 1.7.8 应该也可以)、 Jackson XML Databind 0.5.3 (尚未与 Jackson 1.8 兼容)和 Stax2 3.1.1 。