我想用jsonarray显示数据
我的代码活动
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的值
我的问题需要帮助。非常感谢
发布于 2013-02-22 15:28:02
您有一个名为"data_gadai_detail“的JSONArray作为根目录,然后需要获取第一个JSONObject,然后才能获取JSONStrings
试试这个:
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);
}发布于 2013-02-22 15:27:37
您的JSON表示一个只有一个字段的对象:data_gadai_detail
{"data_gadai_detail": ...}该字段的值是一个只有一个元素的数组:
{"data_gadai_detail": [...]}这个元素是一个具有多个字段的对象,其中一个字段是nama_brg。
因此,您的代码首先应该将字段data_gadai_detail作为一个数组获取,将该数组的第一个元素作为另一个JSON对象获取,最后在该对象中获取字符串nama_brg。
发布于 2013-02-22 15:35:23
试试这个吧..
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);
}https://stackoverflow.com/questions/15018856
复制相似问题