Преобразование XML в JSON с переменным размером элемента
Для нашего проекта мы иногда получаем список массивов панорамирования, иногда один панорамирование. Мы преобразовываем приведенное ниже в json на лету, используя библиотеку org.json и потребляя в некоторых приложениях Java. XML:
<item>
<b type="playlist">Pan1a</b>
</item>
<item>
<b type="clip">Pan2a</b>
<b type="clip">Pan2b</b>
</item>
JSON
{
"item": {
"b": {
"-type": "playlist",
"#text": "Pan1a"
}
}
}
{
"item": {
"b": [
{
"-type": "clip",
"#text": "Pan2a"
},
{
"-type": "clip",
"#text": "Pan2b"
}
]
}
}
Проблема в том, что если элемент имеет более 1 объекта, то json дает ArrayList [], но если количество объектов =1, то дает один объект, а не массив с размером 1. В результате мы не можем проанализировать json при конечная точка как pojo должна быть определена в первую очередь. Каков наилучший способ сделать XML дать JSON, как показано ниже, только с размером 1.
{
"item": {
"b": [{
"-type": "playlist",
"#text": "Pan1a"
}]
}
}