JAXB: how to marshall map into <key>value</key>

转载 2013年12月06日 10:48:10

MapElements :

package com.cellfish.mediadb.rest.lucene;

import javax.xml.bind.annotation.XmlElement;

class MapElements
{
  @XmlElement public String  key;
  @XmlElement public Integer value;

  private MapElements() {} //Required by JAXB

  public MapElements(String key, Integer value)
  {
    this.key   = key;
    this.value = value;
  }
}

MapAdapter :

import java.util.HashMap;
import java.util.Map;

import javax.xml.bind.annotation.adapters.XmlAdapter;

class MapAdapter extends XmlAdapter<MapElements[], Map<String, Integer>> {
    public MapElements[] marshal(Map<String, Integer> arg0) throws Exception {
        MapElements[] mapElements = new MapElements[arg0.size()];
        int i = 0;
        for (Map.Entry<String, Integer> entry : arg0.entrySet())
            mapElements[i++] = new MapElements(entry.getKey(), entry.getValue());

        return mapElements;
    }

    public Map<String, Integer> unmarshal(MapElements[] arg0) throws Exception {
        Map<String, Integer> r = new HashMap<String, Integer>();
        for (MapElements mapelement : arg0)
            r.put(mapelement.key, mapelement.value);
        return r;
    }
}

The rootElement :

import java.util.HashMap;
import java.util.Map;

import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;

@XmlRootElement
public class Root {

    private Map<String, Integer> mapProperty;

    public Root() {
        mapProperty = new HashMap<String, Integer>();
    }

    @XmlJavaTypeAdapter(MapAdapter.class)
    public Map<String, Integer> getMapProperty() {
        return mapProperty;
    }

    public void setMapProperty(Map<String, Integer> map) {
        this.mapProperty = map;
    }

}

I found the code in this website : http://www.developpez.net/forums/d972324/java/general-java/xml/hashmap-jaxb/

Map四种获取key和value值的方法,以及对map中的元素排序

Map四种获取key和value值的方法,以及对map中的元素排序
  • Fishroad
  • Fishroad
  • 2015年08月11日 16:01
  • 87415

将Map中的key和values转化为List

在项目开发中,常常会用到Map,而map的存放是无序的,它存放的是键值对,也就是一个键对应一个值。有时需要将Map的key和value转化为List来进行相关的操作,现在通过实例来实现Map的key和...
  • a123demi
  • a123demi
  • 2014年09月10日 10:31
  • 9613

Map四种获取key和value值的方法,以及对map中的元素排序

见;http://blog.csdn.net/fishroad/article/details/47421457 获取map的值主要有四种方法,这四种方法又分为两类,...
  • u011314442
  • u011314442
  • 2017年04月20日 10:22
  • 753

修改Map中确定key对应的value问题

今天在码代码的时候出现一个没有预料的问题: 先看下面的代码: public static void main(String[] args) { String[] files=new String[...
  • kris234seth
  • kris234seth
  • 2015年09月21日 23:06
  • 4458

Java基础知识:如何取出Map中key和value的值

private static Map getParamMap(Map paramMap){ Map resultParamMap = new HashMap(); Set entries = ...
  • gengxiaoming7
  • gengxiaoming7
  • 2015年10月12日 17:00
  • 495

Java中Map根据键(Key)或者值(Value)进行排序

我们都知道,java中的Map结构是key-->value键值对存储的,而且根据Map的特性,同一个Map中不存在两个Key相同的元素,而value不存在这个限制。换句话说,在同一个Map中的Key是...
  • lzm1340458776
  • lzm1340458776
  • 2015年01月26日 17:39
  • 4590

如何取出 Map中key和value的值

你是否已经对每次从Map中取得关键字然后再取得相应的值感觉厌倦?使用Map.Entry类,你可以得到在同一时间得到所有的信息。标准的Map访问方法如下: Set keys = map.keySet(...
  • linwei_hello
  • linwei_hello
  • 2013年01月23日 14:52
  • 32137

对Map的key和value进行排序

1.1.  对集合中的key进行排序 1.1.1.   实例:对字符串形式的key进行自然逆序排序 SortMapKey.java package map; ...
  • u022812849
  • u022812849
  • 2015年01月31日 12:06
  • 5677

在Java中自定义的一个key对多个Value的map

实现类: import java.util.*; /** * 自定义一对多map */ public class OToMoreMap{ private List mkey; ...
  • cheng9981
  • cheng9981
  • 2017年01月09日 22:06
  • 1819

js通过key-value取值

js通过key-value取值
  • DUDUfine
  • DUDUfine
  • 2016年08月18日 20:01
  • 5488
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JAXB: how to marshall map into <key>value</key>
举报原因:
原因补充:

(最多只允许输入30个字)