我搜索了許多類似的問題「預計BEGIN_OBJECT但是STRING」,但對我來說沒有任何作用。
這是我的JSON字符串:
GSON解析錯誤:預期BEGIN_OBJECT但響應值爲空時爲STRING
{
"result": "true",
"data": [{
"from": {
"user_id": "user1",
"name": "user1",
"avatar": "http://zzzzzz.jpg"
},
"request_id": "user1:user2"
},
{
"from": "null",
"request_id": "user1:user3"
}]
}
這是我的映射實體:
public class GetFriendResponse {
public boolean result;
public List<FriendRequest> data;
}
public class FriendRequest {
public String request_id;
public UserInfo from;
}
public class UserInfo {
public String user_id;
public String name;
public String avatar;
}
我解析JSON這樣的:
Gson gson = new Gson();
GetFriendResponse response = gson.fromJson(jsonString,GetFriendResponse.class);
我已經檢查,看看問題是當結果包含"from": "null"
時,它會給出錯誤。
有什麼想法嗎?
Gson已經過時了... Json lib非常好我發現... – Brian
但是你真的應該在你的類中使用getter和setters而不是公共變量! – Brian
你爲什麼說Gson已經過時了? – antew