Android:将 Parcelable 转换为 JSON
Android: convert Parcelable to JSON
我正在使用 socket.io 库,它向 socket.io 服务器发送消息。服务器需要 JSON 对象、数组等。我最初的实现使用 JSONOject 和 JSONArray 数据类型。但是,我想切换到使用通过 Parceler 库生成的 classes。使用库注释生成的 classes 可以包装到 Parcels 中。这似乎是管理此类通信的一种非常方便的方式。但是,有没有办法将 Parceler 的 class 或 Parcel class 转换为 JSON 字符串或 JSONObject/Array?
GSON 库支持 toJson
方法,我知道 Retrofit 对 Parcels、JSON 和 GSON 有一些魔力。
我想这会对你有所帮助,
例如使用 getter 和 setter 方法创建一个 class
class A
{
int b;
void setb(int x){this.b = x;}
int getb(){return this.b}
}
你可以从这个 class 的对象创建 json:
new Gson().toJson(a)
或来自 json 的对象:
a = new Gson().fromJson(data, A.class);
我正在使用 socket.io 库,它向 socket.io 服务器发送消息。服务器需要 JSON 对象、数组等。我最初的实现使用 JSONOject 和 JSONArray 数据类型。但是,我想切换到使用通过 Parceler 库生成的 classes。使用库注释生成的 classes 可以包装到 Parcels 中。这似乎是管理此类通信的一种非常方便的方式。但是,有没有办法将 Parceler 的 class 或 Parcel class 转换为 JSON 字符串或 JSONObject/Array?
GSON 库支持 toJson
方法,我知道 Retrofit 对 Parcels、JSON 和 GSON 有一些魔力。
我想这会对你有所帮助,
例如使用 getter 和 setter 方法创建一个 class
class A
{
int b;
void setb(int x){this.b = x;}
int getb(){return this.b}
}
你可以从这个 class 的对象创建 json:
new Gson().toJson(a)
或来自 json 的对象:
a = new Gson().fromJson(data, A.class);