Java 错误JSONException:没有的值
我想用jsonarray显示数据 我的代码活动Java 错误JSONException:没有的值,java,android,Java,Android,我想用jsonarray显示数据 我的代码活动 params.add(new BasicNameValuePair("id_gadai", id_gadai)); // getting JSON string from URL String json = jsonParser.makeHttpRequest(URL_GADAI_DETAIL, "GET", params); // Check y
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____________________________________________________________________
BERSERTIFIKAT NO.SERI JS 006 DTM 24K BRT 10
格拉姆、平贾曼:2000000,塔克西兰:4000000,tgl_bts_tebus:2013年5月5日,tgl_bts_lelang:2013年5月9日}]
显示错误:
错误JSONException:nama_brg没有值
我的问题需要帮助。thks您的JSON表示一个对象,只有一个字段:data\u gadai\u detail: 此字段的值是具有单个元素的数组:
{"data_gadai_detail": [...]}
这个元素是一个具有多个字段的对象,其中一个字段是nama_brg
因此,您的代码应该首先将字段data\u gadai\u detail作为数组获取,将该数组的第一个元素作为另一个JSON对象,最后获取该对象中的字符串nama\u brg。您的JSON表示一个具有一个字段的对象:data\u gadai\u detail: 此字段的值是具有单个元素的数组:
{"data_gadai_detail": [...]}
这个元素是一个具有多个字段的对象,其中一个字段是nama_brg
因此,您的代码应该首先将字段data\u gadai\u detail获取为数组,将该数组的第一个元素作为另一个JSON对象,最后获取该对象中的字符串nama\u brg。您将名为data\u gadai\u detail的JSONArray作为根,然后需要获取第一个JSONObject,然后才能获取JSONString 试试这个:
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);
}
您有一个名为data_gadai_detail的JSONArray作为根,然后需要获取第一个JSONObject,然后才能获取JSONString 试试这个:
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);
}
试试这个
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);
}
试试这个
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);
}
常量TAG_NAMA_BRG的值是多少?常量TAG_NAMA_BRG的值是多少?