2012-08-17 8 views
6

Esiste un modo per salvare/esportare (è necessario poter visualizzare in seguito) una struttura di oggetto ispezionata?Come posso esportare o salvare una struttura di oggetto ispezionato in eclissi?

sample inspection window in eclipse

Possibilmente esportare in un formato XML o JSON struttura?

+0

hai esaminato la classe Serializable? – DMor

+0

Se hai solo bisogno di visualizzare l'oggetto, puoi evidenziarlo nella parte della struttura ad albero della finestra qui sopra, copiarlo e incollarlo come testo normale da qualche altra parte. Devi ricordare di espandere tutte le parti dell'albero di cui hai bisogno. –

risposta

2

È possibile utilizzare xstream, ad es. Oggetti

Java:

public class Person { 
     private String firstname; 
     private String lastname; 
     private PhoneNumber phone; 
     private PhoneNumber fax; 
     // ... constructors and methods 
    } 

public class PhoneNumber { 
    private int code; 
    private String number; 
    // ... constructors and methods 
}' 

È sufficiente creare un'istanza della classe XStream:

XStream xstream = new XStream(); 

creare un'istanza di Persona e popolano i suoi campi:

Person joe = new Person("Joe", "Walnes"); 
joe.setPhone(new PhoneNumber(123, "1234-456")); 
joe.setFax(new PhoneNumber(123, "9999-999")); 

convertirlo in XML

String xml = xstream.toXML(joe);' 

Risultato

<person> 
    <firstname>Joe</firstname> 
    <lastname>Walnes</lastname> 
    <phone> 
    <code>123</code> 
    <number>1234-456</number> 
    </phone> 
    <fax> 
    <code>123</code> 
    <number>9999-999</number> 
    </fax> 
</person> 
+2

Non sto cercando una soluzione programmatica. Voglio esaminare la struttura offline, senza scrivere codice aggiuntivo (dato che lo farò molto) –

0

penso Tostao risposta è corretta, basta creare una classe di supporto con metodo statico che si chiamerà durante il debug che persisterà l'XML ad alcuni file sul sistema.

Quindi utilizzare la vista "espressioni" di Eclipse per eseguire il comando. E.g:

FileUtils.persistObjToXml(obj,path)