亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

改造 - 如何從 json 對象獲得響應

改造 - 如何從 json 對象獲得響應

HUWWW 2021-12-30 17:14:37
我需要在鏈接中獲取 json 對象http://link/json和我的 json 評論{"as":"AS48159 Telecommunication Infrastructure Company","city":"Ahvāz","country":"Iran","countryCode":"IR","isp":"Information Technology Company (ITC)","lat":31.3167,"lon":48.6844,"org":"khouzestan Telecommunication co","query":"2.185.10.22","region":"","regionName":"Khuzestan","status":"success","timezone":"Asia/Tehran","zip":""}但我在 activitymain.java 中出錯Incompatible types.Required:retrofit2.Call<ir.hmotamed.myipnet.Queryip>Found:ir.hmotamed.myipnet.Queryip我的序列化(Queryip.java)public class Queryip {    @SerializedName("status")    private String status;    @SerializedName("query")    private String query;    @SerializedName("country")    private String country;    @SerializedName("countryCode")    private String countryCode;    @SerializedName("city")    private String city;    @SerializedName("timezone")    private String timezone;    @SerializedName("isp")    private String isp;我的界面( ApiService.java )import retrofit2.Call;import retrofit2.http.GET;public interface ApiService {    @GET("json")    Call<Queryip> getQueryip();}和 mu activitymain.java 其public class ActivityMain extends AppCompatActivity {    Call<Queryip> queryip;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        ApiService service=ApiClient.getClient().create(ApiService.class);        Call<Queryip> call=service.getQueryip();        call.enqueue(new Callback<Queryip>() {            @Override            public void onResponse(Call<Queryip> Call, Response<Queryip> response) {                queryip=response.body(); // this line show error                Toast.makeText(ActivityMain.this, "ok", Toast.LENGTH_SHORT).show();            }我需要幫助修復錯誤并獲取對象以顯示文本視圖坦克以尋求幫助!
查看完整描述

3 回答

?
江戶川亂折騰

TA貢獻1851條經驗 獲得超5個贊

response.body(); 可以投射到您的 POJO 類,即 Queryip

您將其分配給引用Call類。這就是這里的問題

嘗試 :

Queryip q = (Queryip)response.body()


查看完整回答
反對 回復 2021-12-30
?
千萬里不及你

TA貢獻1784條經驗 獲得超9個贊

問題是您創建了 Call 對象

只需創建如下對象

Queryip queryip

并在成功

queryip=response.body();


查看完整回答
反對 回復 2021-12-30
?
慕沐林林

TA貢獻2016條經驗 獲得超9個贊

只需在activitymain.java 中將全局對象類型從Call 更改為Queryip,然后在onResponse 中:您可以訪問queryip=response.body();


查看完整回答
反對 回復 2021-12-30
  • 3 回答
  • 0 關注
  • 190 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號