首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >错误JSONException:没有值

错误JSONException:没有值
EN

Stack Overflow用户
提问于 2013-02-22 15:17:16
回答 3查看 831关注 0票数 1

我想用jsonarray显示数据

我的代码活动

代码语言:javascript
复制
params.add(new BasicNameValuePair("id_gadai", id_gadai));          
        // getting JSON string from URL
        String json = jsonParser.makeHttpRequest(URL_GADAI_DETAIL, "GET",
                params);

        // Check your log cat for JSON reponse
        Log.d("Data Gadai Detail: ", json);

        try {
            JSONObject jObj = new JSONObject(json);
            if(jObj != null){
                nama_brg = jObj.getString(TAG_NAMA_BRG);
                taksiran = jObj.getString(TAG_TAKSIRAN);
                pinjaman = jObj.getString(TAG_PINJAMAN);
            }          

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

        return null;
    }

我的jsonarray来自数据库{"data_gadai_detail":[{"id_gadai":"3","nama_brg":"BERLIAN L FINE GOLD BERSERTIFIKAT NO.SERI JS 006 DTM 24K BRT 10 GRAM","pinjaman":"2000000","taksiran":"4000000","tgl_bts_tebus":"05-May-2013","tgl_bts_lelang":"09-May-2013"}]}

显示错误:错误JSONException:没有nama_brg的值

我的问题需要帮助。非常感谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-02-22 15:28:02

您有一个名为"data_gadai_detail“的JSONArray作为根目录,然后需要获取第一个JSONObject,然后才能获取JSONStrings

试试这个:

代码语言:javascript
复制
JSONObject jObj = new JSONObject(json);
if(jObj != null){
    nama_brg = jObj.getJSONArray("data_gadai_detail").getJSONObject(0).getString(TAG_NAMA_BRG);
    taksiran = jObj.getJSONArray("data_gadai_detail").getJSONObject(0).getString(TAG_TAKSIRAN);
    pinjaman = jObj.getJSONArray("data_gadai_detail").getJSONObject(0).getString(TAG_PINJAMAN);
}
票数 0
EN

Stack Overflow用户

发布于 2013-02-22 15:27:37

您的JSON表示一个只有一个字段的对象:data_gadai_detail

代码语言:javascript
复制
{"data_gadai_detail": ...}

该字段的值是一个只有一个元素的数组:

代码语言:javascript
复制
{"data_gadai_detail": [...]}

这个元素是一个具有多个字段的对象,其中一个字段是nama_brg

因此,您的代码首先应该将字段data_gadai_detail作为一个数组获取,将该数组的第一个元素作为另一个JSON对象获取,最后在该对象中获取字符串nama_brg

票数 4
EN

Stack Overflow用户

发布于 2013-02-22 15:35:23

试试这个吧..

代码语言:javascript
复制
    JSONObject jObj = new JSONObject(json);

    JSONArray arr = jObj.getJSONArray("data_gadai_detail");

    for (int i = 0; i < arr.length(); i++) {

        JSONObject c = arr.getJSONObject(i);
        nama_brg = c.getString(TAG_NAMA_BRG);
        taksiran = c.getString(TAG_TAKSIRAN);
        pinjaman = c.getString(TAG_PINJAMAN);
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15018856

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档