我正在尝试对 eclipselink 的 JSON 到 JAXB 对象功能进行简单测试。我最初计划使用 moxy 生成 json,然后再次使用它来编组对象,但是尝试设置 eclipselink.media-type 和 eclipselink.json.include-root 属性都抛出了 PropertyException。我确定这是因为我设置了错误。
这是我的主要方法:(我有一个包 moxyTest,有一个 Foo 类,它有两个字符串值)
JAXBContext jc = org.eclipse.persistence.jaxb.JAXBContextFactory
.createContext(new Class[] { moxyTest.Foo.class }, null);
Marshaller marsh = jc.createMarshaller();
Foo firstObject = new Foo("value1", "value2");
marsh.setProperty("eclipselink.media-type", "application/json");
marsh.marshal(firstObject, System.out);
我没有打扰 jaxb.properties 文件,因为我明确指定了 eclipselink 一个,但我也尝试添加一个,但它没有做任何事情。奇怪的是它没有抛出 propertyNotFoundException,而只是一个普通的 PropertyException。
话虽如此,顺便说一句,我知道 moxy 有 object->xml 和 object-> json,有没有一种快速的方法可以直接 json->xml,反之亦然?