2016-08-04 4 views
2

Привет всем Мне нужна ваша помощь для чтения случайного имени массив из объекта json.Как получить массив json из объекта json?

В этой задаче клиент делает объект json в соответствии с его требованиями.

как

{ 
    "tags":[ "demo 1","demo 2","demo 3","demo 4","demo 5","N" ] 
} 

Я использую "N" для определения неограниченного количества элементов в одном массиве.

Здесь в этом коде используется теги ключ для размещения json-массива в объекте json.

Пользователь может также сделать выделенный текст массив как Клиенты

{ 
     "Clients":[ "demo 1","demo 2","demo 3","demo 4","demo 5","N" ] 
    } 

Я знаю, как разобрать

JSONArray jsonMainArr = new JSONArray(String.valueOf(ObjectName.getJSONArray("Keyname"))); 

Теперь мой вопрос заключается в том, чтобы получить JSon массив, если не делать Знайте KeyName как теги или Клиенты

+0

TRY @ Himanshu в. Это помогает вам. – pRaNaY

ответ

2

Вы можете сделать что-то вроде этого:

JSONObject mainJsonObject = new JSONObject(jsonString); 
Iterator<?> keys = mainJsonObject.keys(); 
if (keys.hasNext()){ 
    String key = (String) keys.next(); 
    JSONArray jsonMainArr = mainJsonObject.getJSONArray(key); 
} 

В приведенном выше коде я получаю основную JsonObject от исходного jsonString и используя итератор, получая первый ключ внутри объекта и использовать его для извлечения JsonArray.

Попробуйте это решение и сообщите мне, если у вас есть проблема с тем же.

+0

thnx bro это работа – sunny

+0

отличная, приятный день! – himanshu1496

1

Попробуйте этот код без ключа или метки .. ответ

try { 

    JSONArray itemArray=new JSONArray(jsonString); 
    for (int i = 0; i < itemArray.length(); i++) { 
     String value = itemArray.getString(i); 
     Log.e("json", value); 
    } 
} catch (JSONException e) { 
    // TODO Auto-generated catch block 
    e.printStackTrace(); 
} 
+0

thnkx для справки :) – sunny

Смежные вопросы