有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java将带有Jackson的hashmap编组为XML的错误结构

我有一个Hashmap<String, List<Object>>我想和杰克逊一起整理地图。它完美地使用了JSON,如下所示:

{
    "entriesByTable": {
        "Karlsruhe": [
            {
                "counts": 126,
                "hashTag": "#Karlsruhe"
            },
            {
                "counts": 26,
                "hashTag": "#jobs"
            },
            {
                "counts": 3,
                "hashTag": "#etka16"
            }, ...

但说到XML,我的结构是这样的:

<?xml version="1.0"?>
<Database>
  <entriesByTable>
    <Karlsruhe>
      <hashTag>#Karlsruhe</hashTag>
      <counts>127</counts>
    </Karlsruhe>
    <Karlsruhe>
      <hashTag>#jobs</hashTag>
      <counts>27</counts>
    </Karlsruhe>
    <Karlsruhe>
      <hashTag>#etka16</hashTag>
      <counts>3</counts>
    </Karlsruhe> ...

但我想要/需要同样的Json结构:

<Database>
 <entriesByTable> (mapname)
  <Karlsruhe>     (key)
   <entries>      (value (list))
    <entry>
     <counts>126</counts>
     <hashTag>#Karlsruhe</hashtag>
    </entry>
   </entries>
  </Karlsruhe>
 </entriesByTable>
</Database>

我的班级:

@JacksonXmlRootElement
public class Database {

    private static String DATABASE_LOCATION;

    @JsonProperty
    private Map<String, List<DatabankEntry>> entriesByTable = new HashMap<>(); ...

二等舱:

@JacksonXmlRootElement
public class DatabankEntry implements Comparable<DatabankEntry> {

    @JsonIgnore
    private String tableName;

    @JacksonXmlProperty
    private String hashTag;
    @JacksonXmlProperty
    private int counts;

如果有人有主意那就太棒了。也许我在注释上弄错了


共 (0) 个答案