Какой самый эффективный способ использовать Джексона для непрерывного анализа цепочки строк? - PullRequest
0 голосов
/ 20 декабря 2011

Допустим, у меня есть итератор строк.Я хочу создать итератор объектов Java и эффективно конвертировать из одного в другой.Я не уверен, что лучший способ сделать это ... документы, которые я видел, похоже, создают новый парсер для каждой строки, но я не уверен, есть ли более простой способ?

Спасибо!

1 Ответ

1 голос
/ 21 декабря 2011

Обычно я бы порекомендовал просто создать новый JsonParser (и он работает), но если строки JSON очень короткие, альтернативным методом будет создание эквивалента StringReader, который работает со списком или массивом строк - сортировка вроде java.io.SequenceInputStream, но тот, который работает на строки. Это должно иметь немного меньшие накладные расходы, если вы позаботитесь о том, чтобы НЕ объединять строки, а просто представляли Reader по сравнению с эквивалентной последовательностью.

Затем Джексон может прочитать последовательность значений JSON, используя такой Reader - либо явно один за другим, либо, что более удобно, используя ObjectMapper.readValues(...) (или методы из ObjectReader, экземпляр которых вы можете создать, используя различные фабричные методы ObjectMapper имеет): что-то вроде

ObjectMapper mapper = new ObjectMapper();
MyReader reader = new MyReader(listOfStrings);
MappingIterator<BeanType> it = mapper.reader(BeanType.class).readValues(reader);
while (it.hasNext()) {
  BeanType bean = it.nextValue();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...