Parcelerのreadmeには、他のPOJOベースのライブラリ、特にSimpleXMLで使用できることが記載されています。Parcelerのreadmeに記載されているParcelerとSimpleXml
使用方法の例はありますか?
私は正常GSONとParcelerを使用しました:
Gson gson = new GsonBuilder().create();
ParcelerObj parcelerObj = gson.fromJson(jsonStr, ParcelerObj.class);
String str = gson.toJson(parcelerObj);
はしかし、私はどこのSimpleXMLで開始するか分かりません。
SensorLocation sl = new SensorLocation (10.1235, -36.1346, 10.124);
Serializer s = new Persister();
ByteArrayOutputStream out = new ByteArrayOutputStream();
s.write(sl, out);
私は現在、奇妙な要件があります
@Root(name="point")
@Order(attributes={"lat", "lon", " alt"})
public class SensorLocation {
@Attribute
private double lat;
@Attribute
private double lon;
@Attribute
private double alt;
public SensorLocation (
@Attribute(name="lat") double lat,
@Attribute(name="lon") double lon,
@Attribute(name="alt") double alt
) {
this.lat = lat;
this.lon = lon;
this.alt = alt;
}
}
は、このクラスには、次のコードを使用して、次のXML
<point lat="10.1235" lon="-36.1346" alt="10.124"/>
にシリアライズすることができます。私は現在、次のSimpleXMLクラスを持っていますXMLの属性と要素を特定の順序で保持します。だから私は@Order
を使っている。
ParcelerはどのようにSimpleXMLで動作しますか? ParcelerのインスタンスをSerializer.write()に渡しますか?
誰かが私にリソースを指すことができれば、私自身の研究をすることができます。私はちょうど出発点を見つけることができませんでした。注目に
@Parcel
@Root(name="point")
@Order(attributes={"lat", "lon", " alt"})
public class SensorLocation {
@Attribute
private double lat;
@Attribute
private double lon;
@Attribute
private double alt;
@ParcelConstructor
public SensorLocation (
@Attribute(name="lat") double lat,
@Attribute(name="lon") double lon,
@Attribute(name="alt") double alt
) {
this.lat = lat;
this.lon = lon;
this.alt = alt;
}
}
ワース、Parcelerのこの構成はBeanのフィールドにアクセスするためにリフレクションを使用します。
うわー、素敵な、それはそれのような簡単なアプリケーションです! – Vadym