您好,我正在尝试在Android设备上创建本地数据库。我制作了可返回以下响应的php脚本:
{“ ruta”:[{“ id_ruta”:“ 1”,“ ime_rute”:“ 1”,“ duljina_rute”:“ 6”,“ max_visina”:“ 3”,“ trajanje_rute”:“ 5”,“ opis_rute” :“ 2”,“ lokacija_rute”:“ 4”,“ oprema_rute”:“”},{“ id_ruta”:“ 2”,“ ime_rute”:“ test”,“ duljina_rute”:“ 0.02”,“ max_visina”: “ 184.51”,“ trajanje_rute”:“ 00:00:42”,“ opis_rute”:“ hop”,“ lokacija_rute”:“ hop”,“ oprema_rute”:“ hop”},{“ id_ruta”:“ 3”, “ ime_rute”:“测试”,“ duljina_rute”:“ 0.02”,“ max_visina”:“ 184.51”,“ trajanje_rute”:“ 00:00:42”,“ opis_rute”:“ hop”,“ lokacija_rute”:“ hop “,” oprema_rute“:” hop“},{” id_ruta“:” 4“,” ime_rute“:” test“,” duljina_rute“:” 0.02“,” max_visina“:” 184.51“,” trajanje_rute“:” 00 :00:42“,” opis_rute“:” hop“,” lokacija_rute“:” hop“,” oprema_rute“:” hop“},{” id_ruta“:” 5“,” ime_rute“:” test“,” duljina_rute “:” 0.02“,” max_visina“:” 184.51“,” trajanje_rute“:” 00:00:42“,” opis_rute“:” hop“,” lokacija_rute“:” hop“,” oprema_rute“:” hop“} ,{“ id_ruta”:“ 6”,“ ime_rute”:“ test”,“ duljina_rute”:“ 0.02”,“ max_visina”:“ 184.51”,“ trajanje_rute”:“ 00:00:42”,“ opis_rute”: “ hop”,“ lokacija_rute”:“ hop”,“ oprema_rute”:“ hop”},{“ id_ruta”:“ 7”,“ ime_rute”: “ test”,“ duljina_rute”:“ 0.02”,“ max_visina”:“ 184.51”,“ trajanje_rute”:“ 00:00:42”,“ opis_rute”:“ hop”,“ lokacija_rute”:“ hop”,“ oprema_rute” “:” hop“},{” id_ruta“:” 8“,” ime_rute“:” test“,” duljina_rute“:” 0.02“,” max_visina“:” 184.51“,” trajanje_rute“:” 00:00:42 “,” opis_rute“:”跳“,” lokacija_rute“:”跳“,” oprema_rute“:”跳“},{” id_ruta“:” 9“,” ime_rute“:”测试“,” duljina_rute“:” 0.02 “,” max_visina“:” 184.51“,” trajanje_rute“:” 00:00:42“,” opis_rute“:” hop“,” lokacija_rute“:” hop“,” oprema_rute“:” hop“},{” id_ruta “:” 10“,” ime_rute“:” test“,” duljina_rute“:” 0.02“,” max_visina“:” 184.51“,” trajanje_rute“:” 00:00:42“,” opis_rute“:” hop“, “ lokacija_rute”:“跳”,“ oprema_rute”:“跳”},{“ id_ruta”:“ 11”,“ ime_rute”:“测试”,“ duljina_rute”:“ 0.02”,“ max_visina”:“ 184.51”, “ trajanje_rute”:“ 00:00:42”,“ opis_rute”:“ hop”,“ lokacija_rute”:“ hop”,“ oprema_rute”:“ hop”},{“ id_ruta”:“ 12”,“ ime_rute”: “ test”,“ duljina_rute”:“ 0.02”,“ max_visina”:“ 184.51”,“ trajanje_rute”:“ 00:00:42”,“ opis_rute”:“ hop”,“ lokacija_rute”:“ hop”,“ oprema_rute” “:” hop“},{” id_ruta“:” 13“,” ime_rute“:” test“ ,“ duljina_rute”:“ 0.02”,“ max_visina”:“ 184.51”,“ trajanje_rute”:“ 00:00:42”,“ opis_rute”:“ hop”,“ lokacija_rute”:“ hop”,“ oprema_rute”:“ hop“},{” id_ruta“:” 14“,” ime_rute“:” test“,” duljina_rute“:” 0.02“,” max_visina“:” 184.51“,” trajanje_rute“:” 00:00:42“,” opis_rute“:” hop“,” lokacija_rute“:” hop“,” oprema_rute“:” hop“},{” id_ruta“:” 15“,” ime_rute“:” test“,” duljina_rute“:” 0.02“,” max_visina“:” 184.51“,” trajanje_rute“:” 00:00:42“,” opis_rute“:” hop“,” lokacija_rute“:” hop“,” oprema_rute“:” hop“},{” id_ruta“:” 16“,” ime_rute“:” test“,” duljina_rute“:” 0.02“,” max_visina“:” 184.51“,” trajanje_rute“:” 00:00:42“,” opis_rute“:” hop“,” lokacija_rute“ :“ hop”,“ oprema_rute”:“ hop”},{“ id_ruta”:“ 17”,“ ime_rute”:“ test”,“ duljina_rute”:“ 0.02”,“ max_visina”:“ 184.51”,“ trajanje_rute” :“ 00:00:42”,“ opis_rute”:“ hop”,“ lokacija_rute”:“ hop”,“ oprema_rute”:“ hop”},{“ id_ruta”:“ 18”,“ ime_rute”:“ test” ,“ duljina_rute”:“ 0.02”,“ max_visina”:“ 184.51”,“ trajanje_rute”:“ 00:00:42”,“ opis_rute”:“ hop”,“ lokacija_rute”:“ hop”,“ oprema_rute”:“ hop“},{” id_ruta“:” 19“,” ime_rute“:” test“,” du ljina_rute“:” 0.02“,” max_visina“:” 184.51“,” trajanje_rute“:” 00:00:42“,” opis_rute“:” hop“,” lokacija_rute“:” hop“,” oprema_rute“:” hop“ },{“ id_ruta”:“ 20”,“ ime_rute”:“ test”,“ duljina_rute”:“ 0.02”,“ max_visina”:“ 184.51”,“ trajanje_rute”:“ 00:00:42”,“ opis_rute” :“ hop”,“ lokacija_rute”:“ hop”,“ oprema_rute”:“ hop”},{“ id_ruta”:“ 21”,“ ime_rute”:“ test”,“ duljina_rute”:“ 0.02”,“ max_visina” :“ 184.51”,“ trajanje_rute”:“ 00:00:42”,“ opis_rute”:“ hop”,“ lokacija_rute”:“ hop”,“ oprema_rute”:“ hop”},{“ id_ruta”:“ 22” ,“ ime_rute”:“ test”,“ duljina_rute”:“ 0.02”,“ max_visina”:“ 184.51”,“ trajanje_rute”:“ 00:00:42”,“ opis_rute”:“ hop”,“ lokacija_rute”:“跳”,“ oprema_rute”:“跳”},{“ id_ruta”:“ 23”,“ ime_rute”:“ test”,“ duljina_rute”:“ 0.02”,“ max_visina”:“ 184.51”,“ trajanje_rute”:“ 00:00:42“,” opis_rute“:” hop“,” lokacija_rute“:” hop“,” oprema_rute“:” hop“},{” id_ruta“:” 24“,” ime_rute“:” test“,” duljina_rute“:” 0.02“,” max_visina“:” 184.51“,” trajanje_rute“:” 00:00:42“,” opis_rute“:” hop“,” lokacija_rute“:” hop“,” oprema_rute“:” hop“ },{“ id_ruta”:“ 25”,“ ime_rute”:“ test”,“ duljin a_rute“:” 0.02“,” max_visina“:” 184.51“,” trajanje_rute“:” 00:00:42“,” opis_rute“:” hop“,” lokacija_rute“:” hop“,” oprema_rute“:” hop“ }],“成功”:1}
当我尝试只在LogCat中写入响应的内容时,它说没有任何价值。这是我使用的代码的一部分。
JSONParser jsonParser = new JSONParser();
JSONArray rute = null;
private static final String TAG_SUCCESS = "success";
private static final String TAG_RUTA = "ruta";
private static final String TAG_ID_RUTA = "id_ruta";
private static final String TAG_IME_RUTE = "ime_rute";
private static final String TAG_DULJINA_RUTE = "duljina_rute";
private static final String TAG_MAX_VISINA = "max_visina";
private static final String TAG_TRAJANJE_RUTE = "trajanje_rute";
private static final String TAG_OPIS_RUTE = "opis_rute";
private static final String TAG_LOKACIJA_RUTE = "lokacija_rute";
private static final String TAG_OPREMA_RUTE = "oprema_rute";
List<NameValuePair> params = new ArrayList<NameValuePair>();
// HERE I GET THE JSON RESPONSE
JSONObject json = jsonParser.makeHttpRequest(link,"GET", params);
try {
int success = json.getInt(TAG_SUCCESS);
//AND HERE I TRY WRITING STUFF FROM THE RESPONSE
Log.d("Create Response", json.toString());
new Delete().from(Ruta.class).execute();
Log.d("RUTE GET INT",String.valueOf(json.getInt(TAG_SUCCESS)));
Log.d("RUTE GET JSON STRING",json.getString(TAG_RUTA));
if (success == 1) {
rute = json.getJSONArray(TAG_RUTA);
Log.d("RUTE",rute.toString());
for(int i = 0; i<rute.length(); i++){
JSONObject r = rute.getJSONObject(i);
Ruta nova_ruta = new Ruta();
nova_ruta.IDRute = Integer.parseInt(r.getString(TAG_ID_RUTA));
nova_ruta.Naziv = r.getString(TAG_IME_RUTE);
nova_ruta.Udaljenost = Integer.parseInt(r.getString(TAG_DULJINA_RUTE));
nova_ruta.MaxVisina = Integer.parseInt(r.getString(TAG_MAX_VISINA));
nova_ruta.Trajanje = r.getString(TAG_TRAJANJE_RUTE);
nova_ruta.Opis = r.getString(TAG_OPIS_RUTE);
nova_ruta.Lokacija = r.getString(TAG_LOKACIJA_RUTE);
nova_ruta.Oprema = r.getString(TAG_OPREMA_RUTE);
nova_ruta.save();
}
这是LogCat
最佳答案
因为键ruta
的值是一个数组,而不是您所要求的字符串。线
Log.d("RUTE GET JSON STRING",json.getString(TAG_RUTA));
导致异常。
关于java - 无法读取我发送到android应用程序的JSON响应,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28527234/