2015-10-05 3 views
0

Я просматриваю штрих-код, который возвращает результат в формате Json из штрих-кода api.android получить значение от объекта Json

Метод сканирования возвращает номер штрих-кода, который использует запрос Volley для получения соответствующих данных Json. Это, кажется, правильно работать как результат в JSONObject является:

{"valid":"true", 
"number":"021500058506", 
"itemname":"Lawry's Garlic Salt Coarse Ground W\/Parsley", 
"alias":"", 
"description":"", 
"avg_price":"", 
"rate_up":0, 
"rate_down":0} 

Проблема заключается в извлечении значения для «ItemName». Со следующим кодом я получаю пустой результат для String textResult.

public void findProduct(){ 

    final JsonObjectRequest jsObjRequest = new JsonObjectRequest 
     (Request.Method.GET, getUrl(), null, new Response.Listener<JSONObject>() { 

      @Override 
      public void onResponse(JSONObject response) { 
       String textResult = ""; 
       try { 
        JSONObject productItem = response.getJSONObject(""); 

        textResult = productItem.getString("itemname"); 

        } catch (JSONException e1) { 
        e1.printStackTrace(); 
       } 
       contentTxt.setText(textResult); 

       Toast toast = Toast.makeText(getApplicationContext(), 
         "Text Result" + textResult, Toast.LENGTH_LONG); 
       toast.show(); 
      } 

     }, new Response.ErrorListener() { 

      @Override 
      public void onErrorResponse(VolleyError error) { 
       if(error != null) Log.e("MainActivity", error.getMessage()); 

      } 
     }); 

    VolleyHelper.getInstance(getApplicationContext()).addToRequestQueue(jsObjRequest); 
} 

Любая идея, почему:

textResult = productItem.getString("itemname"); 

не дает мне значение "ItemName"?

Благодаря

+1

'JSONObject productItem = response.getJSONObject ("");' Есть проблема, которую я предполагаю. Правильно ли заполнен 'productItem'? – eyeballz

+0

Вы получаете сообщение об ошибке? Если да, то и поставим это на вопрос. – eyeballz

+0

@ eyeballz - да, я знаю, что ответ - это jsonobject в тексте выше. Объект проходит через ok с помощью getJSONObject (""), поскольку это единственный элемент без имени. По крайней мере, это то, о чем я думаю. Хотя, как правило, у меня возникают проблемы. – bkane56

ответ

0

Эта линия:

JSONObject productItem = response.getJSONObject(""); 

должны быть:

JSONObject productItem = new JSONObject(YOUR_JSON_STRING); 
Смежные вопросы