根据 Java 中预定义的 JSON 映射文档解析 JSON 文档
Parse JSON document based on predefined JSON mapping document in Java
我想知道 Java 中是否有任何 库可以用来 过滤 JSON 文档基于预定义的 JSON 映射文档 ,或者实现此目的的唯一方法是编写自定义 java 代码。
如果需要编写Java自定义代码,我应该遵循哪种类型的设计模式或数据结构。任何建议将不胜感激。
例子-
输入JSON文件-
{
"basicInfo": {
"name": "name",
"age": "25",
"address": "address"
},
"education": [
{
"ug": {
"unversity": "university",
"major": [
"cs",
"ds"
],
"year": "2012"
},
"pg": {
"unversity": "university",
"major": [
"cs",
"ds"
],
"year": "2015"
}
}
]
}
预定义JSON映射文档(可以定义为任何JSON格式,下面是我创建的一个这样的例子)-
{
"definitions": {
"basicInfo": {
"maxOccurance": "1",
"fields": [
{
"key": "name",
"type": "S",
"lenght": "50",
"usage": "M",
"maxOccurrance": "1"
},
{
"key": "age",
"type": "S",
"lenght": "3",
"usage": "O",
"maxOccurrance": "1"
}
]
},
"education": {
"maxOccurance": "10",
"fields": [
{
"pg": {
"maxOccurance": "1",
"fields": [
{
"key": "university",
"type": "S",
"lenght": "50",
"usage": "M",
"maxOccurrance": "1"
},
{
"key": "major",
"type": "S",
"lenght": "3",
"usage": "O",
"maxOccurrance": "1"
}
]
}
}
]
}
}
}
预期输出JSON文档
{
"basicInfo": {
"name": "name",
"age": "25"
},
"education": [
{
"pg": {
"unversity": "university",
"major": "cs"
}
}
]
}
该请求是一种根据预定义的 JSON 规范 sheet / JSON 映射文档过滤 JSON 文档的方法。 jolt 库可能能够满足此要求。
我想知道 Java 中是否有任何 库可以用来 过滤 JSON 文档基于预定义的 JSON 映射文档 ,或者实现此目的的唯一方法是编写自定义 java 代码。
如果需要编写Java自定义代码,我应该遵循哪种类型的设计模式或数据结构。任何建议将不胜感激。
例子-
输入JSON文件-
{
"basicInfo": {
"name": "name",
"age": "25",
"address": "address"
},
"education": [
{
"ug": {
"unversity": "university",
"major": [
"cs",
"ds"
],
"year": "2012"
},
"pg": {
"unversity": "university",
"major": [
"cs",
"ds"
],
"year": "2015"
}
}
]
}
预定义JSON映射文档(可以定义为任何JSON格式,下面是我创建的一个这样的例子)-
{
"definitions": {
"basicInfo": {
"maxOccurance": "1",
"fields": [
{
"key": "name",
"type": "S",
"lenght": "50",
"usage": "M",
"maxOccurrance": "1"
},
{
"key": "age",
"type": "S",
"lenght": "3",
"usage": "O",
"maxOccurrance": "1"
}
]
},
"education": {
"maxOccurance": "10",
"fields": [
{
"pg": {
"maxOccurance": "1",
"fields": [
{
"key": "university",
"type": "S",
"lenght": "50",
"usage": "M",
"maxOccurrance": "1"
},
{
"key": "major",
"type": "S",
"lenght": "3",
"usage": "O",
"maxOccurrance": "1"
}
]
}
}
]
}
}
}
预期输出JSON文档
{
"basicInfo": {
"name": "name",
"age": "25"
},
"education": [
{
"pg": {
"unversity": "university",
"major": "cs"
}
}
]
}
该请求是一种根据预定义的 JSON 规范 sheet / JSON 映射文档过滤 JSON 文档的方法。 jolt 库可能能够满足此要求。