Получаю 2d массив из API, анализирую ответ.Но я не могу получить эти значения.
Вот как я получаю ответ:
DefaultHttpClient httpclient = new DefaultHttpClient(new BasicHttpParams());
String api_uri = "http://192.168.0.106/api/something/";
HttpGet httpget = new HttpGet(api_uri);
httpget.setHeader("Content-type", "application/json");
InputStream inputStream = null;
String result = null;
try {
HttpResponse response = httpclient.execute(httpget);
HttpEntity entity = response.getEntity();
inputStream = entity.getContent();
// json is UTF-8 by default
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream, "UTF-8"), 8);
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}
result = sb.toString();
Log.e("rAct", result);
} catch (Exception e) {
// Oops
Log.e("rActEr", e.toString());
} finally {
try {
if (inputStream != null) inputStream.close();
} catch (Exception squish) {}
}
Строка result
выглядит следующим образом:
[
[
{
"id": 138,
"name": "asdasd",
"person_image": "http://something.in:9090/photos/14/1575.jpg",
"person_description": "bla bla blaa",
"bla_id": 1,
"blabal_id": 2,
"other_id": 7,
"category": "asd"
}
],
[
{
"id": 257,
"name": "asdasd",
"person_image": "http://something.in/asd.jpg",
"person_description": "asasdsad",
"bla_id": 1,
"blabal_id": 2,
"other_id": 7,
"category": "ASSSD"
}
]
]
Итаксейчас пытаюсь прочитать данные как
try {
jsonarray = new JSONArray(result);
for (int i = 0; i < jsonarray.length(); i++) {
jsonobject = jsonarray.getJSONObject(i);
Log.e("testt", jsonobject.toString());
...
...
}
}catch....
Я не могу получить что-либо из этого jsonobject
Как получить данные name
, person_image
, person_description
из результата.Я пытался получить их как jsonobject.optString("name")
, но ничего не возвращалось.
С одноразмерными массивами я получил ответ, и я мог читать данные, следуя тем же способом, что и выше.
Что я долженнужно изменить, чтобы прочитать данные мне нужно?