mule4/java 将 Sql ddl 模式转换为 json 模式
mule4/java convert Sql ddl schema to json schema
有从数据库中检索的模式,我需要将其转换为 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
%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}
有从数据库中检索的模式,我需要将其转换为 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
%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}