首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Java中将JSON字符串转换为XML字符串

在Java中将JSON字符串转换为XML字符串
EN

Stack Overflow用户
提问于 2021-07-14 19:07:28
回答 1查看 42关注 0票数 1

我有下面的Java类,它将接受JSON文件名作为输入,并将其转换为XML,然后在相同的路径中创建一个新的XML文件。

代码语言:javascript
复制
public void convertJsonToXml(String jsonFilePath) {

    try {

        ObjectMapper objectMapper = new ObjectMapper();
        objectMapper.enable(SerializationFeature.INDENT_OUTPUT);

        Products products = objectMapper.readValue(Paths.get(jsonFilePath).toFile(), Products.class);

        XmlMapper xmlMapper = new XmlMapper();
        xmlMapper.writeValue(new File("./metadata/FilteredPatches.xml"), products);

    }

    catch (JsonMappingException e1) {
        // TODO Auto-generated catch block
        e1.printStackTrace();
    }

    catch (JsonProcessingException e2) {
        // TODO Auto-generated catch block
        e2.printStackTrace();
    }

    catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

}

但是新的XML文件失去了有效的XML格式,并在一行中打印XML数据,如下所示

代码语言:javascript
复制
<Products xmlns=""><product><product><name>FileZilla 3</name><patchuid>0003931b-0000-0000-0000-000000000000</patchuid><language>0</language></product><product><name>Notepad++ 6</name><patchuid>00038b09-0000-0000-0000-000000000000</patchuid><language>0</language></product><product><name>UltraVNC 1.2.4.0 x86</name><patchuid>00035767-0000-0000-0000-000000000000</patchuid><language>0</language></product></product></Products>

有什么问题的线索吗?谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-07-14 20:45:27

在调用xmlMapper.writeValue(...)之前,您需要执行xmlMapper.enable(SerializationFeature.INDENT_OUTPUT);。而且您可以删除objectMapper.enable(SerializationFeature.INDENT_OUTPUT);,因为您使用objectMapper来读取值。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68376922

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档