Преобразование 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"
     }]
   }
 }

0 ответов

Другие вопросы по тегам