如何设置从 API 获得的产品总量的文本?

Posted

技术标签:

【中文标题】如何设置从 API 获得的产品总量的文本?【英文标题】:how to set Text of total amount of prouduct which got from API? 【发布时间】:2021-12-31 19:43:22 【问题描述】:

我想显示从 API 获得的产品总量。这是我实现的代码。错误显示 onErrorResponse: org.json.JSONException: Value Final:92 of type java.lang.String cannot be convert to JSONArray

private void getTotal(Integer intquantity) 
    strproquantity = qty.getText().toString();
    String url = Config.URL + "apiurl.aspx?msg=CalculateFnMRPWithQty%20" + strprocode + "%20" + intquantity;;
   // loading.show();
    Log.d("TAG" + "quantity url", url);
    //String Strprototal = strprototal;
    JsonArrayRequest jsonArrayRequest = new JsonArrayRequest(url, new Response.Listener<JSONArray>() 
        @RequiresApi(api = Build.VERSION_CODES.O)
        @Override
        public void onResponse(JSONArray response) 
            Log.d("TAG", "JSONObject-----------" + response.toString());
           parseData(response);
        
    

解析数据的代码是

   private void parseData(JSONArray response) 
    for (int i = 0; i < response.length(); i++) 
        Log.d("TAG", "response: " + response);
        loading.dismiss();
        try 
            JSONObject jsonObject = response.getJSONObject(i);
           strproquantity = jsonObject.getString("Quantity");
           totalprize.setText("" + strprototal);
            
 

【问题讨论】:

到底是什么问题? strprototal 代表什么? @Piyush strprototal 是一个字符串,我用来存储总金额的值,我的问题是我没有显示产品总金额。 【参考方案1】:

由于我还不能发表评论,所以我会在这里写。向我们展示您的回复正文。它可能包含像这样的额外引号或有其他问题:

"[
  some objects
]"

【讨论】:

"Final:92" 是响应正文 @Shweta,它不是有效的 JSON 或 JSON 数组格式。了解如何正确格式化 JSON。这是一个JSON validator,您可以使用它来检查自己。 我知道,但是我从 api 得到的这种响应 好吧,那么您需要另一种类型的请求对象,因为 JSONRequest 和 JSONArrayRequest 仅适用于 JSON 响应。

以上是关于如何设置从 API 获得的产品总量的文本?的主要内容,如果未能解决你的问题,请参考以下文章

您如何获得计算机的 RAM 总量?

如何从亚马逊的产品广告 API 中获取图片和描述?

如何将产品总量传递到支付网关

如何获得所有亚马逊类别的产品

如何计算从周五到周五每周售出多少产品

如何使用 Google Vision Api 检测块内的所有文本