我有不同的JSON模式,每个模式支持RESTful Web服务中不同资源的不同响应格式。响应数据可在地图中找到。我需要在json模式的帮助下从地图创建一个json响应。我需要使用杰克逊。
挑战在于,我不知道每个json模式中字段的级别,我只有一个保存数据的HashMap。
请提出实现目标的方法。
提前致谢。
响应模式:
{
"type":"object",
"properties":
{
"transactionId":
{
"description":"To uniquely identify request from a specific source.",
"type":"string"
},
"productAccountInformation":
{
"type":"object",
"properties":
{
"productId":
{
"description":"The unique identifier for a product",
"type":"string"
},
"productAccount":
{
"type":"array",
"items":
{
"type":"object",
"properties":
{
"accountId":
{
"description":"The unique identifier for a account",
"type":"string"
},
"value":
{
"description":"account balance.",
"type":"number"
},
"noOfDecimals":
{
"description":"Number of decimal places.",
"type":"number"
}
}
}
}
}
}
},
"required":["transactionId"," productAccountInformation "]
}
地图: { transacionId - asdbdf123, productInformation-productId - 100, productInformation-productAccount-AccountId - 9941361330, productInformation-productAccount-value - 5000, productInformation-productAccount-noOfDecimals - 2 } 预期产出是:
{
"transactionId":"asdbdf123",
"productAccountInformation":
{
"productId":"100",
"productAccount":
[
{
"accountId":"9941361330",
"value":5000,
"numberOfDecimals":2
}
]
}
}
以上不是我们唯一的响应模式,我们将有n个模式。所以我正在寻找一个通用的解决方案,它使用json模式从map生成json响应。