2016-02-18 27 views
2

我正在嘗試使用spring的ObjectMarshallerRegisterer bean來註冊一個自定義JSON編碼器,如here所述。如何在Grails中實現自定義深度ObjectMarshaller <JSON>?

我的意圖是利用編組過程中實現某個接口的所有類的每個屬性名稱。

到目前爲止,我已經實現了這個類,這是登記爲對象編組:

這個類的實際工作,但我不得不插入此行jsonWriter.value(JSON.parse((value as JSON).toString()))爲速戰速決。

那麼,將對象轉換爲字符串,然後解析它並不是一個好策略。有一個更好的方法來做到這一點。你們能幫我嗎?

謝謝。

回答

5

那麼,我在github上搜索了一些grails的源代碼,以瞭解它是如何在默認Marshailer上完成的。 this one給我的答案:

上面的代碼行:

jsonWriter.value(JSON.parse((value as JSON).toString())) 

應改爲:

json.convertAnother(value); 

到現在爲止還不清楚在docs我發現。
希望這可以幫助有同樣問題的其他人。