是否可以根据json模式更改json元素的数据类型?

时间:2019-10-17 10:24:25

标签: java json xml stax xml-to-json

通过StAXON解析器将XML转换为JSON,Json Schema(预期)与实际的Response JSON之间存在数据类型不匹配

例如:按照Swagger Schema,我们期望字段的值为“ String”,但是XML to JSON解析器提供的“ Integer”与Swagger / Schema文档不匹配。

在Swagger / Json Schema accountId类型中,称为String。

"accountId" : {
            "type" : "string",
            "description" : "The Id of the account",
            "readOnly" : true
          }

accountId的XML元素值为: 123将XML转换为JSON后,accountId为: 123 ,但是根据架构,我们的期望值为accountId:“ 123”

XML到JSON的通用解析逻辑:

如果元素只有数字,但以零开头:0123,则Json输出为:字符串{accountId:“ 0123”} 如果元素只有数字,但没有以零开头:123,则Json输出为:整数{accountId:123} 如果元素包含以下字符:Abc,则Json输出为:字符串{accountName:“ Abc”) 它将根据数据转换Json,而不转换任何模式,显然我在解析Staxon解析器时没有提供任何模式。

有什么方法可以更改应该与期望的Json模式匹配的JSON。根据上述情况,我期望一个String值,它应该查看架构并创建字段的数据类型。注意:也不想全部转换为String。

提前谢谢!

0 个答案:

没有答案