Я использую Jaxb и Jettison (изначально с Resteasy) для сериализации объекта в json.Один из моих объектов, которые я пытаюсь сериализовать, включает в себя двухмерный массив.Как я могу настроить Jettison для создания многомерного массива в json?
Вот пример, который генерирует многомерный массив:
public class Example {
@XmlRootElement("test")
@XmlAccessorType(XmlAccessType.FIELD)
public static class Tester {
int[][] stuff;
}
public static void main(String[] args) throws JAXBException {
Tester tester = new Tester();
tester.stuff = new int[][]{{1, 2}, {3, 4}};
StringWriter writer = new StringWriter();
Configuration config = new Configuration();
MappedNamespaceConvention con = new MappedNamespaceConvention(config);
MappedXMLStreamWriter xmlStreamWriter = new MappedXMLStreamWriter(con, writer);
Marshaller marshaller = JAXBContext.newInstance(Tester.class)
.createMarshaller();
marshaller.marshal(tester, xmlStreamWriter);
System.out.println(writer.toString());
}
}
, который выводит следующее:
{"tester":{"stuff":[{"item":[1,2]},{"item":[3,4]}]}}
Но я хочу вывести массив stuff
в виде многомерного массива json, например:
{"tester":{"stuff":[[1,2],[3,4]]}}
Это представляется возможным, потому что Resteasy сериализует этот путь из коробки.