gpt4 book ai didi

android - 如何将 Retrofit 响应转换为 JsonObject

转载 作者:搜寻专家 更新时间:2023-11-01 07:44:32 25 4
gpt4 key购买 nike

改造 JSON 响应:

{
"data": [{
"id": 1224410,
"amount": "900200.00",
"meta": {
"referenceId": "referenceId","time": "2017-11-01T15:42:26Z","type": "send"
}
}],
"version": "v2"
}

这些是模型结构:

public class MyOject {
@SerializedName("id")
private int mId;
@SerializedName("amount")
private double mAmount;
@SerializedName("meta")
private JSONObject mMeta;
}

我总是在 mMeta 变量中得到 null

更新代码用于解析来自 JSONObject 的响应的类包装器:

public class ResponseWrapper<DataType> {
@SerializedName("data")
private DataType mData;
@SerializedName("version")
private String mVersion;
}

这是回调。我用它来指定要接收的数据类型。

public class CallbackWithData<T> implements Callback<ResponseWrapper<T>> {
@Override
public final void success(ResponseWrapper<T> data, Response response) {
this.success(data.getData(), data.getVersion());
}
public abstract void success(T data, String version);
}

这是我使用的 API,它定义了所需的对象。

 @GET("/transaction")
void listTransactions(@Header(Constants.Header.LOGIN_SECRET) String loginSecret, CallbackWithData<List<MyObject>> callback);

最佳答案

使用 HashMap 代替 JSONObject :

    @SerializedName("meta")
private HashMap mMeta;

关于android - 如何将 Retrofit 响应转换为 JsonObject,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47465931/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com