2013-06-12 90 views
0

我目前在傑克遜(1.9.9)上使用RestEasy(2.3.6),並且需要在我的JSON數組前添加'{} & &''以防止發生JSON劫持。傑克遜JSON前綴

我是新來的傑克遜,我很難理解在哪裏插入這樣的東西。我什至不知道在哪裏插入這樣的東西,使它始終發生,我想進一步,並能夠指定只包含JSON數組返回值,而不是常規對象。

我想有一個類需要繼承和重寫一個方法,然後以某種方式註冊該類。有沒有人做過這樣的事情?

+0

傑克遜1.9.9目前的版本是2.2.x ...你應該考慮升級! – fge

+0

另外:爲什麼這樣劫持你的任何疑慮?你目前如何生成你的JSON? – fge

+0

1.9.9被依賴於resteasy-jackson-provider v2.3.6引入,所以這就是我所要做的。如果有些東西可以幫助解決我的問題,那麼可以設置排除項並強制它使用較新的排除項。是否擔心劫持是一個不合我心的決定。目前我正在使用傑克遜自動從我的resteasy資源方法返回pojos元帥。 – Matt

回答

0

Jukka,你鏈接到的問題,導致我的解決方案。我擴展了JacksonJsonProvider,並且覆蓋了writeTo()方法。這裏有一些條件,我可以在每次寫入值之前加上jg.writeRaw("{}&&");。另外,由於我使用的是Spring,我必須用@Component註釋我的課程才能找到它。

另一個創建自己的JsonProvider子類的方法是你的休息方法必須有@Produces('application/json')(你應該始終明確這些),否則將使用默認的JsonProvider