我能否通过JSON在运行时动态创建Java对象?

6
例如,我有一个 JSON 格式如下:
{"class":"MySpecialClass", "attri1":"value1", "attri2":"value2"}
我想创建一个对象,它是一个名为 MySpecialClass 的对象,并获取两个属性,即 attri1 和 attri2,其值分别为 value1 和 value2。
以下是要求:
1. 我有一个名为 MySpecialClass 的类文件,其中包含 attri1 和 attri2,我能否创建此对象并将值分配给它?
2. 我没有 MySpecialClass 类文件,我希望在运行时生成它,这是否可能?谢谢。

2
可能是重复的问题,参考链接:https://dev59.com/gXM_5IYBdhLWcg3wZSPX - Zéychin
3个回答

3
你的第一个案例可以使用任何Java/JSON解析器轻松实现。
你的第二个案例也是可行的,但需要很多工作量。
你可以使用字节码工程技术(例如使用Apache BCEL)在运行时构建类。请注意,JSON只包含字段,没有行为和类型信息。

1

0

你需要一个 JSON 处理器,比如 Jackson。我不确定你能否轻松地用这种方式完成第二个案例,如果你想要进入类似即时字节码操作的领域,最好看看 JVM JavaScript 实现,或者使用 Java6 运行时中的一个


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接