我有以下JSON格式的信息。
[
{
"name": "A",
"value": {
"isValueApplicable": "true"
}
},
{
"name": "B",
"parameters": [
{
"name": "x",
"isMandatory": "true"
},
{
"name": "y",
"isMandatory": "true"
}
]
},
{
"name": "C",
"parameters": [
{
"name": "x",
"isMandatory": "true"
},
{
"name": "y",
"isMandatory": "false"
}
]
}
]
我想要的是,使用以下方法创建一个类:
public Structure getA (String value) {
}
public Structure getB (String xValue, String yValue) {
}
public Structure getC (String xValue) {
}
public Structure getC (String xValue, String yValue) {
}
这里重要的是,这些方法应基于JSON中给出的信息动态创建。因此,仅适用于A值。对于B,x和y都是必需的。但是对于C,只有x值是强制性的,用户可以为y提供值,因此有两种不同的方法。
问:在Java中是否可以在读取JSON之后在编译时生成方法,就像参数是强制性的一样,我将使用许多参数创建方法。如果该值不适用,那么我将创建不带任何参数的方法。答案 0 :(得分:0)
是的,可以使用Reflection in Java
完成,也可以使用javaassit
和cglib
答案 1 :(得分:0)
是的,您可以即时生成Java字节码。 CGLib(Github link here)是做到这一点的一种选择。
或者您可以使用类似Jackson的东西从Json生成Java源代码,然后进行编译。 Here's one example.
我肯定还有更多方法,但是是的,肯定有可能。
当然,您显示的Json已损坏,因此只会产生解析器错误。