Android разбора Json массив строк
Как я могу разобрать в Android массив строк Json и сохранить его в массив строк java (например: xy [])?
Мой Json будет разобран:
[
{
"streets": [ "street1", "street2", "street3",... ],
}
]
Позже в моем коде я хочу заполнить этим массивом элемент spinner в моем макете.
Все, что я пробовал, ограничивается только одним элементом улицы, указанным в прядильщике.
Ответы
Ответ 1
Разбор
try {
JSONArray jr = new JSONArray("Your json string");
JSONObject jb = (JSONObject)jr.getJSONObject(0);
JSONArray st = jb.getJSONArray("streets");
for(int i=0;i<st.length();i++)
{
String street = st.getString(i);
Log.i("..........",""+street);
// loop and add it to array or arraylist
}
}catch(Exception e)
{
e.printStackTrace();
}
После анализа и добавления в массив. Используйте то же самое, чтобы заполнить свой счетчик.
[
представляет массив json node
{
представляет объект json node
Ответ 2
Попробуйте это.
JSONArray arr = new JSONArray(json string);
for(int i = 0; i < arr.length(); i++){
JSONObject c = arr.getJSONObject(i);
JSONArray ar_in = c.getJSONArray("streets");
for(int j = 0; j < ar_in.length(); j++){
Log.v("result--", ar_in.getString(j));
}
}
Ответ 3
Нам нужно сначала создать объект JSON. Например,
JSONObject jsonObject = new JSONObject(resp);
// resp is your JSON string
JSONArray arr = jsonObject.getJSONArray("results");
Log.i(LOG, "arr length = " + arr.length());
for(int i=0;i<arr.length();i++)
{...
arr может содержать другие объекты JSON или массив JSON. Как конвертировать JSON зависит от String. Существует полный пример с некоторым объяснением того, что массив JSON String для JSON можно найти в http://www.hemelix.com/JSONHandling