我的 json 解析代码有问题,它显示错误 json no value for konteks lokasi 这是使用 TAG_KONTEKS 变量。这是我获取 json 响应的代码。
@Override
protected String doInBackground(String... args) {
// TODO Auto-generated method stub
//mendapatkan data dari database berupa alamat, konteks, latitude, longitude
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("lat", Integer.toString(latPengguna)));
params.add(new BasicNameValuePair("lng", Integer.toString(lngPengguna)));
params.add(new BasicNameValuePair("konteks", konteksCocok));
Log.d("lat dan lng kirim", "data: " + Integer.toString(latPengguna) + " " + Integer.toString(lngPengguna));
Log.d("konteks kirim", "data: " + konteksCocok);
JSONObject json = jParser.makeHttpRequest(url_webservice, "POST", params);
Log.d("data: ", json.toString());
//menampilkan data lokasi POI
try {
int sukses = json.getInt(TAG_SUCCESS);
if(sukses == 1) {
POI = json.getJSONArray(TAG_POIN);
for(int i = 0; i < POI.length(); i++) {
JSONObject c = POI.getJSONObject(i);
int latDB = c.getInt(TAG_LAT);
int lngDB = c.getInt(TAG_LNG);
String alamat = c.getString(TAG_ALAMAT);
String konteks = c.getString(TAG_KONTEKS);
Log.d("latDB", "data: " + latDB);
Log.d("lngDB", "data: " + lngDB);
Log.d("altDB", "data: " + alamat);
Log.d("ktsDB", "data: " + konteks);
HashMap<String, String> map = new HashMap<String, String>();
map.put(TAG_ALAMAT, alamat);
map.put(TAG_KONTEKS, konteks);
POIList.add(map);
}
} else {
Log.d("JSON error", "JSON trouble");
}
} catch(JSONException ex) {
ex.printStackTrace();
}
return null;
}
这是我的 json 回复:
{
"success": 1,
"point": [
{
"point": {
"konteks_lokasi": "kuliah",
"nama_lokasi": "Teknik Perkapalan",
"longitude": "-60",
"latitude": "117"
},
"hasil": 15.811388300842
},
{
"point": {
"konteks_lokasi": "kuliah",
"nama_lokasi": "Teknik Kimia",
"longitude": "-80",
"latitude": "145"
},
"hasil": 33.376638536557
},
{
"point": {
"konteks_lokasi": "kuliah",
"nama_lokasi": "Teknik Arsitektur",
"longitude": "-22",
"latitude": "111"
},
"hasil": 53.009433122794
}
]
}
如果你能帮助我,我会很高兴...