【发布时间】:2014-12-13 13:24:03
【问题描述】:
我已经有一些 API,无法更改任何参数和对象名称。
其中一个是它:
{
"version":"1.0",
"error_code":"0",
"error_message":"OK",
"session_id":"2f0513adszdab61a4748553c62019a",
"expire":"2014-12-13 17:38:13",
"currencyData":{
"rate":"1",
"position":"1",
"ch":"dollar"
},
"data":{
"user_id":129733,
"account_type":0
},
"new":{
"messages_count":0,
"purchases_count":0,
"sales_count":0,
"offers_count":0,
"orders_count":0,
"cart_count":9
}
}
在这个响应中,我有对象“currencyData”、“data”和“new”。 现在我在反序列化后遇到了这个名字的问题,它们是空的。 我得到这个recult的代码是:
ApiResponse<UserData> response = new Gson().fromJson(json, UserData.class);
目标对象的名称是:
private CurrencyData currencyData;
private UserData data;
private New newz;
谁能告诉我如何反序列化这些对象?
【问题讨论】:
-
这些字段在哪里声明?
-
你确定你的代码可以编译吗?告诉我们
ApiResponse和UserData。 -
@SotiriosDelimanolis 这些字段在 UserData.class 中声明为对象。这个对象已经有任何 String 和 int 值的 getter 和 setter。
-
@SotiriosDelimanolis 代码编译正确,但对象“currencyData”、“data”和“new”为空
-
@SotiriosDelimanolis 我无法正确声明名为“new”的对象,因为它的名称对于 java 不正确。
标签: java android json object gson