我使用標準的Spring MVC框架的3倍,並有我的模型實體都建立了所有的好東西的關係(javax.persistence API)......我的DB集成。JSON對象VS彈簧模型對象
隨着應用的發展,我們需要支持JSON調用。
鑑於我在我的模型實體層映射出的各種關係,
(classX->優雅以及classY-> classX)
我想知道最好的做法是什麼將這些模型類中的一些轉換爲適當的JSON對象而不會有重複的引用?
如:樣品車響應
{"classX":{"id":"1", "classY":{"id":"2", "classX":{"id":"1", "classY":{"id":"2"...
我考慮了幾個方法的,我不會介意的反饋...
保留現有的模型類,並設置交叉關係在將其放入我的ModelMap之前爲NULL,因此不會有某種形式的重新引用(我認爲它是HACK)
{"classX":{"id":"1", "classY":{"id":"2", "classX":null}}}
重新創建JSON類相似,而無需再引用類的現有模式(但我認爲這意味着他們不會爲可重用......因爲我最終將只具有classX->優雅而不是倒退,如果我想鑽另一種方式進行數據響應)。
{"jsonClassX": {"id":"1", "jsonClassY":{"id":"2"}}}
只需簡單地構建它作爲標準ModelMap映射每個控制器的呼叫。作爲這種不可重複使用JSON類的概念,並且是依賴於方式控制器構建體和組織的返回值。這似乎是最簡單的,但它意味着沒有可重用的代碼(除了剪切和粘貼)...
{"x":{"id":"1", "y":{"id":"2"}}} // for controller call 1 {"y":{"id":"2", "x":{"id":"1"}}} // for controller call 2
因此,這些都是我與此刻雜耍的選項,我不會介紹一些反饋意見,並提供一些關於其他人如何做的指示。
這是直接來自第三方庫,如傑克遜,還是來自您自己的翻譯代碼? – atrain
@AaronSheffey嗨,它只是標準的Spring配置的東西 '公共地圖@ResponseBody <字符串,?擴展Object> ...' – alwinc