当前位置: 首页 > 知识库问答 >
问题:

json显示错误total没有值,即使值存在

程正阳
2023-03-14

日志cat显示以下错误。

06-07 03:12:49.829 29544-29544/com。实例阿默。奥兰加巴德带系统。组织。json。JSONException:组织中的total没有值。json。JSONObject。在org上获取(JSONObject.java:389)。json。JSONObject。com上的getString(JSONObject.java:550)。实例阿默。奥兰加巴德。BusinessProfile 4美元。com上的onResponse(BusinessProfile.java:162)。实例阿默。奥兰加巴德。BusinessProfile 4美元。onResponse(BusinessProfile.java:142)在com上发布。Android截击工具箱。我的请求。com上的deliverResponse(StringRequest.java:78)。Android截击工具箱。我的请求。com上的deliverResponse(StringRequest.java:30)。Android截击ExecutorDelivery$ResponseDeliveryRunnable。在android上运行(ExecutorDelivery.java:106)。操作系统。汉德勒。android上的handleCallback(Handler.java:761)。操作系统。汉德勒。android上的dispatchMessage(Handler.java:98)。操作系统。活套。android上的loop(Looper.java:156)。应用程序。活动线程。java上的main(ActivityThread.java:6523)。朗,反思一下。方法在com上调用(本机方法)。Android内部的操作系统。ZygoteInit$MethodandArgscaler。在com上运行(zyteinit.java:942)。Android内部的操作系统。合子岩。main(ZygoteInit.java:832)06-07 03:13:51.675 29544-29544/com。实例阿默。aurangabad W/IIInputConnectionWrapper:getExtractedText on inactive InputConnection 06-07 03:13:51.685 29544-29544/com。实例阿默。aurangabad W/IIInputConnectionWrapper:getTextBeforeCursor位于非活动InputConnection上

这是我解码json的代码。

try {

         JSONObject obj = new JSONObject(response);
         JSONArray jsonArray = obj.getJSONArray("result");

         JSONObject json_obj = jsonArray.getJSONObject(0);

          name.setText(json_obj.getString("business_name"));

          one_mobile.setText(json_obj.getString("mobile_one"));


           two_mobile.setText(json_obj.getString("mobile_two"));
           email.setText(json_obj.getString("email_id"));
           address.setText(json_obj.getString("address"));

           working_hours.setText(json_obj.getString("working_hour"));
           phone = json_obj.getString("mobile_one");

            businessrating.setText(json_obj.getString("total"));

            Glide.with(BusinessProfile.this)               .load("http://ansofexpert.com/dashboard/uploads/"+json_obj.getString("feature_image"))
                 .thumbnail(0.1f)
                 .dontAnimate()
                 .centerCrop()
                 .into(feature_image);


    } catch (JSONException e) {
       e.printStackTrace();
   }

以下是来自服务器的json响应

{"结果":[{"business_id":"1","business_name":"中国大陆餐厅","mobile_one":"2147483647","mobile_two":"2147483647","email_id":"ashishingles@rediffmail.com","地址":"Daultabad T Point, Daultabad Road, Sharnapur, Aurangabad-MS-431001, Maharashtra, India","area_id":"9","city_name":"aurangabad","establish_date":"17-05-2018","about_business":"散布在4英亩美丽的景观是为了乡村的外观","working_hour":"上午10:00-晚上10:00","category_id":"38","subcategory_id":"2"、"feature_image":"581e9e09692a4a6e5837b5bd89bc2877.jpg"、"register_date":"09-05-2018"、"expire_date":"22-05-2018"、"状态":"0"}、{"总计":"3.4"}]}

共有2个答案

仲孙兴旺
2023-03-14

如果你格式化JSON,你会得到你的答案。看到没

{
  "result":[
    {
        "business_id":"1",
        "business_name":"Mainland China Restaurant",
        "mobile_one":"2147483647",
        "mobile_two":"2147483647",
        "email_id":"ashishingles@rediffmail.com",
        "address":"Daultabad T Point, Daultabad Road, Sharnapur, Aurangabad - MS - 431001, Maharashtra, India",
        "area_id":"9",
        "city_name":"aurangabad",
        "establish_date":"17-05-2018",
        "about_business":"Spread over 4 acres of beautifully landscaped are for a rustic look.",
        "working_hour":"10:00 am - 10:00 pm",
        "category_id":"38",
        "subcategory_id":"2",
        "feature_image":"581e9e09692a4a6e5837b5bd89bc2877.jpg",
        "register_date":"09-05-2018",
        "expire_date":"22-05-2018",
        "status":"0"
    },
    {
        "total":"3.4"
    }
  ]
}

你可能需要做:

JSONObject json_obj_2 = jsonArray.getJSONObject(1);
json_obj_2.getString("total")
姜献
2023-03-14

json_obj在json字符串中不包含“total”。请替换以下行:

json_obj.getString("total")

具有

json_obj = jsonArray.getJSONObject(1);
json_obj.getString("total")

然后再试一次

 类似资料:
  • 问题内容: 我收到错误org.json.JSONException:PROJECT_NAME没有值,这是我的json 鳕鱼是: 有什么办法可以找到密钥,如果密钥不存在,那么np需要获取特定字符串的值帮我谢谢 问题答案: 使用 具有 检查重点是存在于JSON。如果该对象具有名称映射,则返回true。 喜欢 另一种方法是使用 optString ,如果存在则返回按名称映射的值,并在必要时进行强制。如果

  • 我被一个奇怪的编程问题困住了。我已经定义了一个模式,其中如果没有为列(列名是Title)传递值,那么将使用默认值(Harry)。 标题|字符变化(64)|默认“Harry”::字符变化 而且,我正在尝试通过我的java应用程序使用hibernate插入条目。 发生的情况是,hibernate在任何查询中都显式地为该列提供空值,因此这些条目的默认值不会显示在表中。 这里要提到的是,当我自己执行任何i

  • 我用的是MPAndroidChart,我有一个x轴从0到11的条形图。 我添加了setOnChartValueSelectedListener,但突出显示了。getX()返回8,即使单击最后一个栏,也应该是11。 我在做什么: 创建一个包含几个条目的BarData对象-基本上每月1个,其中x值是月份数(0到11) 在图表上设置ChartValueSelectedListener 运行应用程序,水平

  • 我的主要活动是 运行时的错误为 w/system.err:org.json.jsonException:org.json.jsonobject.get(jsonobject.java:392)上的描述没有值w/system.err:at org.json.jsonobject.getStri 列表项 ng(JSONObject.java:553) w/system.err:org.json.jso

  • 我有一个简单的网络界面,在这里我可以为交易所的个人加密货币交易选择特定的市场、价格、目标和止损点。 我添加了一些默认的laravel验证规则,其中一些显示在Web界面上,就像它们应该的那样,但其中一个特别是在它确实触发时没有,因为当我检查错误时,它确实显示在响应中。 在这里,表单显示错误,除了在停顿部分,但停顿错误没有显示在网络界面上: 我已经简化了规则,只有“要求”用于测试目的,也有更多的规则它

  • 我试图尽可能地保持代码清晰,所以我决定创建许多测试类,包括测试项,例如: 我的测试用例是: 我在堆栈跟踪中看到了my MockHttpServletResponse,在那里我可以找到“TaskEstablishedDate”:“2020-12-10t09:12:45.000+00:00”。此外,如果我复制整个响应并将其传递到https://jsonformatter.curiousconcept.