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);