С Rest API, я получаю JSON данных в следующем формате:Декодирование URL из JSON на Android
[
{
"id": "1",
"item": "tea",
"price": "7.5",
"image": "http:\/\/192.168.1.3\/CI\/images\/tea.jpg",
"veg": "0",
"category": "drinks"
},
{
"id": "2",
"item": "coffee",
"price": "10",
"image": "http:\/\/192.168.1.3\/CI\/images\/coffee.jpg",
"veg": "0",
"category": "drinks"
}
]
Из API я получаю JSON в виде строки, и она содержит слеш перед URL, слэши, который соответствует спецификации кодирования json. И я правильно могу json_decode и получить url из php. В android я храню строку json в переменной с именем «menu_json».
Тогда я пытаюсь разобрать и получить URL изображения из него, используя следующий код:
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
try{
JSONObject menuApiObj = new JSONObject(menu_json);
JSONArray menuObj = menuApiObj.getJSONArray("menu");
for (int i = 0; i < menuObj.length(); i++){
JSONObject row = menuObj.getJSONObject(i);
rowString = row.getString("image");
imageUrl = row.toString();
Log.e("rowString", rowString);
Log.e("imageUrl", imageUrl);
}
Выход я получаю:
{
"id": "1",
"item": "tea",
"price": "7.5",
"image": "tea.jpg",
"veg": "0",
"category": "drinks"
}
поле изображения должно быть:
http://192.168.1.3/CI/images/tea.jpg
Но вместо этого я получаю просто:
tea.jpg
Когда json_decode ответ API в PHP, я получаю правильно декодированный URL-адрес. Но в Android я не получаю правильно декодированный URL-адрес в поле изображения.
Пожалуйста, помогите!
Вот полный ответ API:
{"menu":[{"id":"1","item":"tea","price":"7.5","image":"tea.jpg","veg":"0","category":"drinks"},{"id":"2","item":"cofee","price":"10","image":"coffee.jpg","veg":"0","category":"drinks"},{"id":"3","item":"crispy chicken","price":"160","image":"crispy-chicken.jpg","veg":"0","category":"curries"}],"cat_wise":[{"category":"drinks","items":[{"id":"1","item":"tea","price":"7.5","image":"http:\/\/192.168.1.3\/CI\/images\/tea.jpg","veg":"0","category":"drinks"},{"id":"2","item":"cofee","price":"10","image":"http:\/\/192.168.1.3\/CI\/images\/coffee.jpg","veg":"0","category":"drinks"}]},{"category":"curries","items":[{"id":"3","item":"crispy chicken","price":"160","image":"http:\/\/192.168.1.3\/CI\/images\/crispy-chicken.jpg","veg":"0","category":"curries"}]},{"category":"main","items":[]}]}
Показать полные данные JSON. Что означает 'menuApiObj.getJSONArray (" menu ")' означает? В данных JSON нет такого массива, –