6

例如,我有这样的 JSON 格式:

{"class":"MySpecialClass", "attri1":"value1", "attri2":"value2"}

我想创建一个对象,它是一个MySpecialClass对象,并获取两个属性,attri1并具有andattri2的值。value1value2

这是要求:

  1. 我有一个类文件,名为 ,MySpecialClassattri1, 和attri2,我可以创建这个对象,并在其中赋值吗?

  2. DONT'T有类文件MySpecialClass,我想在运行时生成它,这可能吗?谢谢。

4

3 回答 3

3

您的第一个案例使用任何 Java/JSON 解析器都是完全可行的。

你的第二种情况是可能的,但要努力。

您可以使用字节码工程在运行时构造类——例如使用Apache BCEL。请注意,JSON 将仅包含字段,而不包含行为或类型。

于 2012-08-03T08:49:19.410 回答
1

看看https://github.com/google/gson它做你想要的

于 2012-08-03T08:48:16.040 回答
0

你想要一个 JSON 处理器,比如Jackson。我不确定您是否可以通过这种方式轻松完成第二种情况,因为您可能最好查看 JVM JavaScript 实现,除非您想进入诸如动态字节码操作之类的东西。Java6 运行时中有一个。

于 2012-08-03T08:48:52.357 回答