XStream - XStream

XStream -bibliotek
Utvikler (er) Codehaus
Første utgivelse 1. januar 2004 ; 17 år siden ( 2004-01-01 )
Stabil utgivelse
1.4.12 / 12. april 2020 ; 16 måneder siden ( 2020-04-12 )
Skrevet inn Java
Operativsystem Kryssplattform
Tillatelse BSD -stil lisens
Nettsted x-stream .github .io

XStream er et Java -bibliotek for å serialisere objekter til XML (eller JSON ) og tilbake igjen.

XStream -bibliotek

XStream bruker refleksjon for å oppdage strukturen til objektgrafen for å serialisere ved kjøretid , og krever ikke endringer av objekter. Den kan serialisere interne felt, inkludert private og siste, og støtter ikke-offentlige og indre klasser.

Objektgrafserialisering

Når du serialiserer et objekt, serierer du hele objektgrafen. Dupliserte referanser som finnes i objektmodellen vil opprettholdes. For eksempel ved å bruke følgende klasse -CD

package com.thoughtworks.xstream;
public class Cd {
	private String id;

	private Cd bonusCd;

	Cd(String id, Cd bonusCd) {
		this.id = id;
		this.bonusCd = bonusCd;
	}

	Cd(String id) {
		this.id = id;
	}

	public String getId() {
		return id;
	}

	public Cd getBonusCd() {
		return bonusCd;
	}
}

og legg til noen av disse objektene i en liste

Cd bj = new Cd("basement_jaxx_singles");
Cd mr = new Cd("maria rita");
		
List<Cd> order = new ArrayList<>();
order.add(mr);
// adds the same cd twice (two references to the same object)
order.add(bj);
order.add(bj);

// adds itself (cycle)
order.add(order);

XStream xstream = new XStream();
xstream.alias("cd", Cd.class);
System.out.println(xstream.toXML(order));

Hvis koden ovenfor kjøres med XStreams standard relative referansemodus, genererer den følgende XML:

<list>
  <cd>
    <id>maria rita</id>
  </cd>
  <cd>
    <id>basement_jaxx_singles</id>
  </cd>
  <cd reference="../cd[2]"/>
  <list reference=".."/>
</list>

XStream er gratis programvare , distribuert under en tillatende , revidert BSD-stil lisens .

Bruk

Referanser

Eksterne linker