Я пытался использовать потоковый API Джексона в Java для обработки следующего:
{
"objs": [
{
"A": {
"a": "b",
"c": "d"
},
"B": {
"e": "f",
"g": "h"
},
},
{
"C": {
"i": "j",
"k": "l"
},
"D": {
"m": "n",
"o": "p"
},
}
]
}
Для каждого объекта верхнего уровня в массиве под ключом objs
(в этом примере объект с ключами "A" и "B", а другой объект с ключами "C" и "D") я хочу извлекать объекты каждый в виде необработанной строки; Потенциально у меня будут десятки тысяч таких для анализа, поэтому я не хочу отображать их на объекты модели.
Мне трудно понять, как это сделать, потому что, когда я перебираю токены JSON, я не могу определить логическое условие, которое говорит мне, что я нахожусь в точном начале одного из этих объектов. Кроме того, как только я определил это начало, как мне извлечь объект с помощью потокового API, а затем перейти к следующему?
Я привык использовать функции автоматической десериализации Джексона, и это отталкивает меня, когда я пытаюсь думать об этом в контексте потоковой передачи.