无法读取我发送给Android应用程序的JSON响应

时间:2015-02-15 14:45:29

标签: java android json

您好我正在尝试在我的Android设备上创建本地数据库。我制作了PHP脚本,返回以下响应:

  

{"芸香":[{" id_ruta":" 1"" ime_rute":" 1" " duljina_rute":" 6"" max_visina":" 3"" trajanje_rute":" 5"" opis_rute":" 2"" lokacija_rute":" 4"" oprema_rute&#34 ;: ""},{" id_ruta":" 2"" ime_rute":"测试"&#34 ; duljina_rute":" 0.02"" max_visina":" 184.51"" trajanje_rute":" 00: 00:42"" opis_rute":"啤酒花"" lokacija_rute":"啤酒花"" oprema_rute&#34 ;:"啤酒花"},{" id_ruta":" 3"" ime_rute":"测试",& #34; duljina_rute":" 0.02"" max_visina":" 184.51"" trajanje_rute":" 00:00:42"" opis_rute":"啤酒花"" lokacija_rute":"啤酒花"" oprema_rute& #34;:"啤酒花"},{" id_ruta":" 4"" ime_rute":"测试" " duljina_rute":" 0.02"" max_visina":&# 34; 184.51"" trajanje_rute":" 00:00:42"" opis_rute":"啤酒花"&# 34; lokacija_rute":"啤酒花"" oprema_rute":"啤酒花"},{" id_ruta":" 5& #34;" ime_rute":"测试"" duljina_rute":" 0.02"" max_visina&#34 ;: #&34; 184.51"" trajanje_rute":" 00:00:42"" opis_rute":"啤酒花&#34 ;, " lokacija_rute":"啤酒花"" oprema_rute":"啤酒花"},{" id_ruta":&#34 ; 6"" ime_rute":"测试"" duljina_rute":" 0.02"" max_visina&#34 ;:" 184.51"" trajanje_rute":" 00:00:42"" opis_rute":"啤酒花&#34 ;," lokacija_rute":"啤酒花"" oprema_rute":"啤酒花"},{" id_ruta":& #34; 7"" ime_rute":"测试"" duljina_rute":" 0.02"" max_visina& #34;:" 184.51"" trajanje_rute":" 00:00:42"" opis_rute":"啤酒花& #34;" lokacija_rute":"一跳"" oprema_rute":"啤酒花"},{" id_ruta":" 8"" ime_rute&#34 ;:"测试"" duljina_rute":" 0.02"" max_visina":" 184.51",& #34; trajanje_rute":" 00:00:42"" opis_rute":"啤酒花"" lokacija_rute":&# 34;啤酒花"" oprema_rute":"啤酒花"},{" id_ruta":" 9"" ime_rute& #34;:"测试"" duljina_rute":" 0.02"" max_visina":" 184.51" " trajanje_rute":" 00:00:42"" opis_rute":"啤酒花"" lokacija_rute&#34 ;: "啤酒花"" oprema_rute":"啤酒花"},{" id_ruta":" 10"&#34 ; ime_rute":"测试"" duljina_rute":" 0.02"" max_visina":" 184.51&# 34;," trajanje_rute":" 00:00:42"" opis_rute":"啤酒花"" lokacija_rute&#34 ;:"啤酒花"" oprema_rute":"啤酒花"},{" id_ruta":" 11",& #34; ime_rute":"测试"" DUL jina_rute":" 0.02"" max_visina":" 184.51"" trajanje_rute":" 00:00 :42"" opis_rute":"啤酒花"" lokacija_rute":"啤酒花"" oprema_rute" :"啤酒花"},{" id_ruta":" 12"" ime_rute":"测试"&# 34; duljina_rute":" 0.02"" max_visina":" 184.51"" trajanje_rute":" 00 :00:42"" opis_rute":"啤酒花"" lokacija_rute":"啤酒花"" oprema_rute&# 34;:"啤酒花"},{" id_ruta":" 13"" ime_rute":"测试&#34 ;, " duljina_rute":" 0.02"" max_visina":" 184.51"" trajanje_rute":&#34 ; 00:00:42"" opis_rute":"啤酒花"" lokacija_rute":"啤酒花"" oprema_rute":"啤酒花"},{" id_ruta":" 14"" ime_rute":"测试&#34 ;," duljina_rute":" 0.02"" max_visina":" 184.51"" trajanje_rute":& #34; 00:00:42""运is_rute":"啤酒花"" lokacija_rute":"啤酒花"" oprema_rute":"啤酒花"} ,{" id_ruta":" 15"" ime_rute":"测试"" duljina_rute":&#34 ; 0.02"" max_visina":" 184.51"" trajanje_rute":" 00:00:42"&# 34; opis_rute":"啤酒花"" lokacija_rute":"啤酒花"" oprema_rute":"啤酒花&#34 ;},{" id_ruta":" 16"" ime_rute":"测试"" duljina_rute":& #34; 0.02"" max_visina":" 184.51"" trajanje_rute":" 00:00:42&#34 ;, " opis_rute":"啤酒花"" lokacija_rute":"啤酒花"" oprema_rute":"啤酒花& #34;},{" id_ruta":" 17"" ime_rute":"测试"" duljina_rute" :" 0.02"" max_visina":" 184.51"" trajanje_rute":" 00:00:42&#34 ;," opis_rute":"啤酒花"" lokacija_rute":"啤酒花"" oprema_rute":&#34 ;啤酒花"},{" id_ruta&#3 4;:" 18"" ime_rute":"测试"" duljina_rute":" 0.02",& #34; max_visina":" 184.51"" trajanje_rute":" 00:00:42"" opis_rute":& #34;啤酒花"" lokacija_rute":"啤酒花"" oprema_rute":"啤酒花"},{" id_ruta":" 19"" ime_rute":"测试"" duljina_rute":" 0.02" " max_visina":" 184.51"" trajanje_rute":" 00:00:42"" opis_rute" :"啤酒花"" lokacija_rute":"啤酒花"" oprema_rute":"啤酒花"},{&# 34; id_ruta":" 20"" ime_rute":"测试"" duljina_rute":" 0.02&# 34;," max_visina":" 184.51"" trajanje_rute":" 00:00:42"" opis_rute&# 34;:"啤酒花"" lokacija_rute":"啤酒花"" oprema_rute":"啤酒花"},{ " id_ruta":" 21"" ime_rute":"测试"" duljina_rute":&#34 0.02 "" max_visina":" 184。 51"" trajanje_rute":" 00:00:42"" opis_rute":"啤酒花"" lokacija_rute& #34;:"啤酒花"" oprema_rute":"啤酒花"},{" id_ruta":" 22" " ime_rute":"测试"" duljina_rute":" 0.02"" max_visina":&#34 ; 184.51"" trajanje_rute":" 00:00:42"" opis_rute":"啤酒花"&#34 ; lokacija_rute":"啤酒花"" oprema_rute":"啤酒花"},{" id_ruta":" 23&# 34;," ime_rute":"测试"" duljina_rute":" 0.02"" max_visina":& #34; 184.51"" trajanje_rute":" 00:00:42"" opis_rute":"啤酒花",& #34; lokacija_rute":"啤酒花"" oprema_rute":"啤酒花"},{" id_ruta":" 24"" ime_rute":"测试"" duljina_rute":" 0.02"" max_visina" :" 184.51"" trajanje_rute":" 00:00:42"" opis_rute":"啤酒花" " lokacija_rute":"一跳#34;" oprema_rute":"啤酒花"},{" id_ruta":" 25"" ime_rute" :"测试"" duljina_rute":" 0.02"" max_visina":" 184.51"&# 34; trajanje_rute":" 00:00:42"" opis_rute":"啤酒花"" lokacija_rute":&#34 ;啤酒花"" oprema_rute":"啤酒花"}],"成功":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 screenshot

1 个答案:

答案 0 :(得分:1)

因为密钥ruta的值是数组,而不是您请求的字符串。这条线

Log.d("RUTE GET JSON STRING",json.getString(TAG_RUTA));

导致例外。