2013-10-28 4 views
1

У меня есть этот кусок кода:Как разобрать неизвестную структуру JSON в Java

JSONArray data = object.getJSONArray("Test"); 

for (int i = 0; i < data.length(); i++) 
{ 
    JSONObject dataObject = data.getJSONObject(i); 
    etc ... 

Я не знаю, до времени выполнения, что я буду иметь в DataObject хотя. Можно ли каким-то образом перекрыть ключи?

Я думал, что это может работать, как я увидел, что это упоминалось в другой статье StackOverflow:

for (String key : dataObject.keys()) 

Но я получаю сообщение об ошибке сказав «Может только перебрать массив или экземпляр java.lang.Iterable»

Кто-нибудь знает, как это можно сделать?

+0

Можете ли вы опубликовать свою структуру Json? –

+0

опубликуйте структуру JSON – Shruti

+0

Будет определяться динамически, но она будет выглядеть примерно так: {"Test": [{"CouldBeAnything": "CBA_Value", "CouldBeSomethingElse": "CBSE_Value", ...}, {" CouldBeAnything2 ":" CBA2_Value "," CouldBeSomethingElse2 ":" CBSE2_Value ", ...}]} – b85411

ответ

4

Для Получение ключей от вашего объекта, это может работать:

Iterator<?> iterator = object.keys(); 
while (iterator.hasNext()) { 
    String key = (String)iterator.next(); 
    //do what you want with the key.     
} 
+0

Спасибо, что сработало отлично. – b85411

+0

Наслаждайтесь кодированием :) – KunalK

0

i guess

Ключи итератора = json.keys();

это даст вам ключи вашего объекта JSON в качестве Java итератора

How can I iterate JSONObject to get individual items

Это даст вам представление о том, чтобы получить ключи и значения в итерационной форме и поможет вам реализовать для вашего нужно

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