java - 使用 Jackson 将带有 HashMap 的对象转换为 XML

标签 java xml jackson

我有一个只包含一个 hasmap 类型属性的对象。

public class Application {

    private Map<String,Object> map2;

    public Map<String, Object> getMap2() {
        return Collections.unmodifiableMap(map2);
    }

    public void setMap2(Map<String, Object> map2) {
        this.map2 = map2;
    }
}

然后我尝试使用 Jackson 生成 XML:

Map<String,Object> map = new HashMap<String, Object>();
map.put("key1", "value1");
map.put("key2", "value2");

XmlMapper xmlMapper = new XmlMapper();
xmlMapper.configure( ToXmlGenerator.Feature.WRITE_XML_DECLARATION, true );
System.out.println(xmlMapper.writeValueAsString(app));

结果是:

<?xml version='1.0' encoding='UTF-8'?>
<Application>
    <Map2>
        <key1>value1</key1>
        <key2>value2</key2>
    </Map2>
</Application>

但我只想:

<?xml version='1.0' encoding='UTF-8'?>
<Application>
    <key1>value1</key1>
    <key2>value2</key2>
</Application>

如何删除 Map2 元素?

最佳答案

使用 HashMap 而不是整个类。喜欢

public class AppDao {

    private Map<String,Object> Application;

    public Map<String, Object> getMap2() {
        return Collections.unmodifiableMap(map2);
    }

    public void setMap2(Map<String, Object> Application) {
    this.Application = Application;
    }
    public Map<String,Object> getMap2(){
        return Application;
    }
}

现在使用hashmap生成XML

xmlMapper.configure( ToXmlGenerator.Feature.WRITE_XML_DECLARATION, true );
System.out.println(xmlMapper.writeValueAsString(app.getMap2()));

关于java - 使用 Jackson 将带有 HashMap 的对象转换为 XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37438132/

相关文章:

java - Jackson JSON 和 Jayway JSON 路径

java - Firefox 4 中的小程序问题

java - 如何查看是否有可以录制视频的 "front"摄像头?

java - 如何添加-Xlint :unchecked option or any javac option in Eclipse?

java - 使用java在xml文件中替换多个单词

java - 抛出验证异常 - 带有行号

java - 如何在 Ubuntu 中为 Java 5/Tomcat 5.5 编译 .war?

集合中 put/get 中的 Java 并发

c# - 如何使用 C# 将 XML 文件转换为 CSV 文件

json - Scala 编码到 JSON 或从 JSON 解码