Vytvorím súbor s výpisom XML s JAXB, potom idemcez niekoľko transformácií a prísť do súboru XML, ktorý je vo formáte, ktorý si želám. Teraz chcem previesť tento súbor XML, ktorý je riadne uniknutý a zakódovaný do súboru JSON pomocou JAXB.
NEMÁM sa snažiť posúvať objekt na JSON, ale obsah Súboru.
Toto zaraďuje môj objekt do json:
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);
Ako to urobím pre súbor, ktorý bol vytvorený JAXB a transformáciou, nazýva sa employeeFormatC.xml
Dôvod, prečo musí byť zo súboru a nieobjekt je preto, že používam rôzne štýly xslt na formátovanie pôvodného výstupu xml. Nevidím dôvod robiť to pre json, keď môžem len previesť už vygenerovaný a formátovaný xml.
odpovede:
1 pre odpoveď č. 1JAXB nie je určený na konverziu XML priamo na JSON.Môžete použiť JAXB iba na marshal a unmarshal z reprezentácie (XML / JSON) na Java objekty.
Ak chcete konvertovať z vášho transformovaného XML na JSON s JAXB, mali by ste vytvoriť Java objekty, ktoré odrážajú váš transformovaný XML, rozobrať XML na tieto objekty a následne zoradiť do JSON.
Pozri sa na táto otázka pre riešenia iné než JAXB.