- eclipselinkの2.4.0を入れる
- jsonに出力したいクラスのあるパッケージにjaxb.propertiesを置く
javax.xml.bind.context.factory=org.eclipse.persistence.jaxb.JAXBContextFactory
- JAXBContextを生成するときにJAXBContextProperties.MEDIA_TYPEにapplication/jsonを設定する
- JAXBContextPropertiesはeclipselinkにあるクラスなので注意
Map<String, String> properties = new HashMap<>(); properties.put(JAXBContextProperties.MEDIA_TYPE, "application/json"); JAXBContext ctx = JAXBContext.newInstance(new Class<?>[] { clazz }, properties);
これでmarshal, unmarshalするとjsonになる!