Преобразование XML в JSON с помощью синтаксического анализатора StAXON, существует несоответствие типов данных между схемой Json (ожидается) и фактическим ответом JSON
Например: согласно схеме Swagger мы ожидаем « String * 1004». * »Значение для поля, но синтаксический анализатор XML в JSON дает нам« Integer », что не соответствует документу Swagger / Schema.
В типе accountId Swagger / Json Schema упоминается как String.
"accountId" : {
"type" : "string",
"description" : "The Id of the account",
"readOnly" : true
}
Значение XML-элемента accountId: < accountId>123</ accountId>
После преобразования XML в JSON accountId: **123**
, но согласно схеме мы ожидаем accountId: **“123”**
Универсальная логика синтаксического анализа XML в JSON:
- Если элемент имеет только числа, но начинается с нуля:
<accountId>0123</accountId>
, то вывод Json будет: String { accountId : “0123” }
- Если элемент имеет только числа, но не начинается с нуля:
<accountId>123</accountId>
, тогда вывод Json будет: Integer { accountId : 123 }
- Если элемент содержит символ:
<accountName>Abc</ accountName>
, тогда вывод Json будет: String { accountName : “Abc”)
Он преобразует Json в соответствии с данными, а не с какой-либо схемой, очевидно, что я не предоставлял никакой схемы при разборе синтаксического анализатора Staxon.
Есть ли способ изменить JSON, которыйдолжен соответствовать ожидаемой схеме Json. В соответствии с приведенным выше сценарием я ожидаю значение String, оно должно посмотреть на схему и сделать тип данных поля. Примечание: не хочу конвертировать все в String.
Заранее спасибо !!!