Issue
I want to ask a question about converting a jsonArray
to a StringArray
on Android
. Here is my code to get jsonArray
from server.
try {
DefaultHttpClient defaultClient = new DefaultHttpClient();
HttpGet httpGetRequest = new HttpGet("http://server/android/listdir.php");
HttpResponse httpResponse = defaultClient.execute(httpGetRequest);
BufferedReader reader = new BufferedReader(new InputStreamReader(httpResponse.getEntity().getContent(),"UTF-8"));
String json = reader.readLine();
//JSONObject jsonObject = new JSONObject(json);
JSONArray jsonArray = new JSONArray(json);
Log.d("", json);
//Toast.makeText(getApplicationContext(), json, Toast.LENGTH_SHORT).show();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
And this is the JSON
.
[
{"name": "IMG_20130403_140457.jpg"},
{"name":"IMG_20130403_145006.jpg"},
{"name":"IMG_20130403_145112.jpg"},
{"name":"IMG_20130404_085559.jpg"},
{"name":"IMG_20130404_113700.jpg"},
{"name":"IMG_20130404_113713.jpg"},
{"name":"IMG_20130404_135706.jpg"},
{"name":"IMG_20130404_161501.jpg"},
{"name":"IMG_20130405_082413.jpg"},
{"name":"IMG_20130405_104212.jpg"},
{"name":"IMG_20130405_160524.jpg"},
{"name":"IMG_20130408_082456.jpg"},
{"name":"test.jpg"}
]
How can I convert jsonArray that I've got to StringArray so I can get StringArray like this:
array = {"IMG_20130403_140457.jpg","IMG_20130403_145006.jpg",........,"test.jpg"};
Thank you for your help :)
Solution
Take a look at this tutorial. Also you can parse above json like :
JSONArray arr = new JSONArray(yourJSONresponse);
List<String> list = new ArrayList<String>();
for(int i = 0; i < arr.length(); i++){
list.add(arr.getJSONObject(i).getString("name"));
}
Answered By - Saad Asad
Answer Checked By - David Goodson (JavaFixing Volunteer)