簡體   English   中英

Json 齊射到 Android Studio 時出錯

[英]Error in Json in volley to Android Studio

我想打電話給 Api 但是接收錯誤正在運行! 我有一個 Json api A Java ZA2F2ED4F8EBC2CBB4C21A29DC40AB1,請致電幫助修復錯誤!

我的傑森:

在此處輸入圖像描述

我的 class 加載數據:

 public void loadproductview() {
        String url = "https://alphaonline.ir/index.php?route=api32/product/product&token=3344556677";

        Response.Listener<JSONObject> objectListener = new Response.Listener<JSONObject>() {
            @Override
            public void onResponse(JSONObject response) {
                try {
                    String name = response.getString("name");

                    txt_name.setText(name);

                } catch (JSONException e) {
                    e.printStackTrace();
                }
            }
        };
        Response.ErrorListener errorListener = new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                Toast.makeText(ProductActivity.this, error.toString(), Toast.LENGTH_SHORT).show();
            }
        };

        Map<String, String> params = new HashMap();
        params.put("product_id", "237");
        JSONObject parameters = new JSONObject(params);

        JsonObjectRequest request = new JsonObjectRequest(Request.Method.POST, url, parameters, objectListener, errorListener);
        MySingleton.getInstance(getApplicationContext()).addToRequestQueue(request);
    }

您正在使用 Map 初始化 JSONObject,這是錯誤的>直接將值放入 JSONObject。

   JSONObject parameters = new JSONObject();
    parameters.put("product_id", "237");

嘗試這個:-

public void loadproductview() {
    String url = "https://alphaonline.ir/index.php?route=api32/product/product&token=3344556677";

    Response.Listener<JSONObject> objectListener = new Response.Listener<JSONObject>() {
        @Override
        public void onResponse(JSONObject response) {
            try {
                String name = response.getString("name");

                txt_name.setText(name);

            } catch (JSONException e) {
                e.printStackTrace();
            }
        }
    };
    Response.ErrorListener errorListener = new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {
            Toast.makeText(ProductActivity.this, error.toString(), 
            Toast.LENGTH_SHORT).show();
        }
    };

    JSONObject parameters = new JSONObject(params);
    parameters.put("product_id", "237");
    JsonObjectRequest request = new JsonObjectRequest(Request.Method.POST, URL, 
    parameters, objectListener, errorListener);
    MySingleton.getInstance(getApplicationContext()).addToRequestQueue(request);
    }

我不確定您如何處理請求的 singleton 實例,所以不要這樣:

MySingleton.getInstance(getApplicationContext()).addToRequestQueue(request);

做這個:

RequestQueue queue = Volley.newRequestQueue(this);
queue.addToRequestQueue(request);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM