Проблема оказалась в другой части модели, но только в некоторой информации об опасностях Oracle:
Первый запрос работал нормально, потому что он ссылался только на одно конкретное поле с соответствующим столбцом в базе данных. (оракул по какой-то причине не заботится об остальной части модели).
Второй запрос не работал, потому что он пытался извлечь каждый столбец из таблицы, и в модели отсутствовало одно поле.
Если вам часто нужно одно и то же имя элемента, и вы заботитесь о порядке, возможно, лучше оставить XML. Каких преимуществ вы ожидаете от использования JSON?
Почему бы не попробовать:
{ parentNode: [
["fooNode", "data1"],
["barNode", "data2"],
["fooNode", "data3"] ]
}
Я думаю, это более или менее решит проблему.
И да, я думаю, вам следует отказаться от автоматического преобразования, если оно недостаточно гибкое; вместо этого вы можете поискать API, который упрощает такие сопоставления.