Jython超过了Gson的递归限制

时间:2013-07-03 17:46:29

标签: java python recursion gson jython

我正在使用Jython对方法toJson()进行Gson调用。我使用GsonBuilder来创建Gson对象。问题是,在调用方法时,我得到'RuntimeError:超出最大递归深度'。这来自toJson调用中的getAdapter()方法,当然这两种方法都是Gson类的一部分。

基本上,toJson方法在类中使用基于输入的不同签名调用其他toJson方法。当然Gson是一个jar,所以没有改变它,我没有看到递归在getAdapter方法中的位置。有没有人之前做过这样的事情,知道一个变通方法/黑客,我可以使用?快速和肮脏很好,我只需要这个来进行概念验证。相关代码如下。

builder = GsonBuilder()
builder.registerTypeAdapter(tpj.Semicircles(0).class, app.SemicirclesTypeAdapter())
gson = builder.setPrettyPrinting().create()
payload = tp.RequestPayload()
payload.setFMI(sr)
json = gson.toJson(payload)
System.out.println(json)

tpj是一个python模块,app是我试图用Jython模拟的Java类。模拟Gson的东西太复杂了,这就是我使用Jython的原因。

0 个答案:

没有答案