2014-11-24 2 views
-1

У меня есть строка JSON как это:JSONArray к POJO

[{"name":"foo","slug":"foo2","locales":["foo3"],"hostname":"foo4","region_tag":"foo5"},{"name":"foo","slug":"foo2","locales":["foo3"],"hostname":"foo4","region_tag":"foo5"},{"name":"foo","slug":"foo2","locales":["foo3"],"hostname":"foo4","region_tag":"foo5"},{"name":"foo","slug":"foo2","locales":["foo3"],"hostname":"foo4","region_tag":"foo5"}] 

Я новичок в этом. Как я могу разобрать этот JSONArray на POJO?

+0

Престола [это] (http://stackoverflow.com/a/27080027/1205368). Вам придется изменить определение POJO, но идея одинаков. – Salem

+0

Кстати, я использую джексон. – dummyDroid

+0

http://www.mkyong.com/java/how-to-convert-java-object-to-from-json-jackson/? – Salem

ответ

1

Parsers - это объекты, используемые для тонирования содержимого JSON в токенах и связанных с ними данных. Это самый низкий уровень доступа для чтения к содержимому JSON.

Наиболее распространенный способ создания парсеров - внешние источники (файлы, потоки HTTP-запросов) или буферизованные данные (строки, байтовые массивы/буферы). Для этой цели org.codehaus.jackson.JsonFactory имеет обширный набор методов построить парсер, такие как:

JsonFactory jsonFactory = new JsonFactory(); // or, for data binding, org.codehaus.jackson.mapper.MappingJsonFactory 
JsonParser jp = jsonFactory.createJsonParser(file); // or URL, Stream, Reader, String, byte[] 

Кроме того, если вам случится иметь ObjectMapper, есть также ObjectMapper.getJsonFactory(), что вы можете использовать для повторного использования завода он имеет (поскольку (re) с использованием экземпляров JsonFactory - это одна из лучших рекомендаций по эффективности).

Но вы также можете создавать парсер из альтернативных источников:

Начиная с версией 1.3, вы можете прочитать содержимое корня JsonNode (см модели дерева) по JsonParser jp = node.traverse() Начиная с версией 1.5 вы можете буфер основных JSON маркеров org.codehaus.jackson.util.TokenBuffer , а затем создать JsonParser для чтения содержимого (для воспроизведения потоков). Чтение токенов JSON из этих источников значительно более эффективно, чем повторный анализ содержимого JSON из текстового представления.

Это очень легко и просто. Попробуйте это: http://www.youtube.com/watch?v=vBkuLu-ycEc и вы можете прочитать больше о Джексоне ссылке ниже http://wiki.fasterxml.com/JacksonStreamingApi

+0

Пожалуйста, дайте немного больше информации о том, как использовать Джексон и не только предоставить ссылку. – MarchingHome

+0

На самом деле эта ссылка даст вам четкое представление о джексоне и о том, как она работает шаг за шагом –

+0

Я знаю, но это не так, как StackOverflow хочет видеть ответы. Ознакомьтесь с рекомендациями: http://stackoverflow.com/help/how-to-answer. В нем четко говорится: «Всегда указывайте наиболее важную часть важной ссылки». – MarchingHome

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