2012-06-14 10 views
1

В моем приложении я получаю содержимое JSON как InputStream. В зависимости от того, есть ли у него один JSONObject или JSONArray тех, кого я хочу выполнять разные действия.Как отличить JSONArray и JSONObject от InputStream с помощью Jackson?

Как я могу дифференцировать, используя Джексон, если это единственный объект или массив объектов?

// веселит

РЕШЕНИЕ:

Использование JsonNote.isArray():

JsonNode rootNode = mapper.readValue(contentStream, JsonNode.class);  
List<Map<String, Object>> dataList = new ArrayList<Map<String, Object>>(); 

    if(rootNode.isArray()){ 
     // do something with the array 

    } else { 
     // do something else with the object 
    } 
+0

Можете ли вы опубликовать способ форматирования данных? – wdziemia

ответ

2

Просто связать или как java.lang.Object (и посмотреть, если вы получили List или Map); или как JsonNode и позвоните по телефону isObject() или isArray()?

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