有从数据库检索的架构,我需要将其转换为json架构,有人可以让我知道如何在Java或Mule中做到这一点。
下面是我的代码:
{"Schema": [
{
"Column_Name": "Employee Name",
"Type": "varchar",
"SafeType": "string",
"Length": 51,
"Description": null
},
{
"Column_Name": "Username",
"Type": "varchar",
"SafeType": "string",
"Length": 51
}
]}
Output should be:
{
"definitions": {},
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "http://example.com/root.json",
"type": "object",
"title": "The Root Schema",
"properties": {
"Employee Name": {
"$id": "#/properties/Employee Name",
"type": "varchar",
"maxLength":50
},
"Username": {
"$id": "#/properties/Username",
"type": "string",
"maxLength":50
}
}
}
Please guide
答案 0 :(得分:2)
%dw 2.0
output application/json
var rootObj = {
"definitions": {},
"\$schema": "http://json-schema.org/draft-07/schema#",
"\$id": "http://example.com/root.json",
"type": "object",
"title": "The Root Schema"
}
var props = payload.Schema reduce ((schema, acc={}) ->
acc ++ {
(schema.Column_Name): {
"\$id": "#/properties/$(schema.Column_Name)",
"type": schema.Type,
"maxLength": schema.Length - 1
}
})
---
rootObj ++ {"properties": props}