Я просматриваю штрих-код, который возвращает результат в формате 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"?
Благодаря
'JSONObject productItem = response.getJSONObject ("");' Есть проблема, которую я предполагаю. Правильно ли заполнен 'productItem'? – eyeballz
Вы получаете сообщение об ошибке? Если да, то и поставим это на вопрос. – eyeballz
@ eyeballz - да, я знаю, что ответ - это jsonobject в тексте выше. Объект проходит через ok с помощью getJSONObject (""), поскольку это единственный элемент без имени. По крайней мере, это то, о чем я думаю. Хотя, как правило, у меня возникают проблемы. – bkane56