1

我使用 org.json 在 Java 代码中将 XML 转换为 JSON:

JSONObject jSONObject = org.json.XML.toJSONObject(StringXML);

org.json 库的问题是它们不接受带有一个元素的数组,因此我无法使用 jQuery 的数据表读取 JSON。(元素周围没有括号)

所以,我想切换到杰克逊,因为我发现它有一个选项:

ObjectMapper mapper = new ObjectMapper()
        .enable(DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY);

但是,当我导入最新的库(核心:2.2.3,dataformat-xml:2.2.0)时,DeserializationFeature 类不可用。

有什么方法可以将 XML 字符串转换为 JSON,并且可以选择一个元素的数组?

4

1 回答 1

0

我使用 staxon API 将 XML 转换为 JSON。

import de.odysseus.staxon.json.JsonXMLConfig;
import de.odysseus.staxon.json.JsonXMLConfigBuilder;
import de.odysseus.staxon.json.JsonXMLInputFactory;

InputStream input = new FileInputStream(fileIn); // XML file input
OutputStream output = new FileOutputStream(fileOut); // JSON output file 

JsonXMLConfig config = new JsonXMLConfigBuilder().multiplePI(false).build();
XMLEventReader reader = new JsonXMLInputFactory(config)
                            .createXMLEventReader(input);
XMLEventWriter writer = XMLOutputFactory.newInstance()
                            .createXMLEventWriter(output);

从这里下载 API 。

你可以试试这个。

于 2013-10-04T14:11:48.417 回答