Tworzę plik zrzutu XML za pomocą JAXB, a potem idępoprzez kilka transformacji i dotrzeć do pliku XML w pożądanym przeze mnie formacie. Teraz chcę przekonwertować ten plik XML, który jest poprawnie ewakuowany i zakodowany w pliku JSON przy użyciu JAXB.
NIE próbuję przekazać obiektu do JSON, ale do zawartości pliku.
To sonduje mój obiekt do jsona:
JAXBContext jc = JAXBContext.newInstance(Employee.class);
Marshaller marshaller = jc.createMarshaller();
marshaller.setProperty(MarshallerProperties.MEDIA_TYPE, "application/json");
marshaller.setProperty(MarshallerProperties.JSON_INCLUDE_ROOT, true);
marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
marshaller.marshal(employee, System.out);
Jak to zrobić dla pliku, który został utworzony przez JAXB i transformacji, nazywa się employeeFormatC.xml
Powód musi pochodzić z pliku, a nie z niegoobiekt jest, ponieważ używam różnych stylów xslt do sformatowania oryginalnego wyjścia xml. Nie widzę powodu, aby to zrobić dla json, kiedy mogę po prostu konwertować już wygenerowany i sformatowany xml.
Odpowiedzi:
1 dla odpowiedzi № 1JAXB nie ma zamiaru konwertować XML bezpośrednio na JSON.Możesz używać JAXB tylko do marszu i unmarshal od reprezentacji (XML / JSON) do obiektów Java.
Jeśli chcesz konwertować z przekształconego XML na JSON z JAXB, powinieneś utworzyć obiekty Java, które odzwierciedlają przekształcony XML, niepopularyzować XML do tych obiektów, a następnie przekazać je do JSON.
Spojrzeć na to pytanie dla rozwiązań innych niż JAXB.