2013-04-03 42 views
0

我在這裏有一個關於如何預處理java的問題。我實施了一些建議,我能夠得到它的工作。只關心性能。Json預處理性能問題

Json pre processing in java

我嘗試兩種方式:

一個方法是使用GSON我甩入哈希映射。然後在吸氣人員看着地圖閱讀。這花了12秒鐘。

我嘗試了一種方法。我爲兩種json格式創建了兩個類。基於源我使用jaskson將其映射到各自的類。我在規範化的類(具有通用名稱的類)上創建。現在我正在使用推土機庫將其映射到標準化的類。最後,我所有的結果都是標準化的類對象集合。現在需要8秒

我想知道是否有更快的方法來完成這項工作。我認爲在這兩種情況下,頭頂上都會創造1000個我不想要的物體。我需要的只是將它們顯示在表格的前端。

使用正則表達式處理原始json是一個不錯的選擇嗎?

線程幫助嗎?

其他建議?

感謝

+1

這取決於。如果將來你所做的事情不會延長太多,那麼你可以通過逐字讀取來處理文件。正則表達式可能是一個好的選擇,但它取決於JSON的結構以及你想要提取的內容 - 以及是否可以假設鍵的順序(技術上可以是無序的)。 – nhahtdh

回答

2

你或許可以使用傑克遜的流解析器超快速的性能,如果這是你所需要的。雖然在做之前我會認真地做一些適當的基準測試,因爲解析1000個對象的時間比Jackson少8秒。看到這個benchmark系列;如果您可以克隆回購並使您的類在該框架內工作,那麼您將會對傑克遜如何處理您的數據類有個很好的理解。我懷疑你的問題不是在傑克遜,而是在你的代碼中的其他地方:一個分析器可以在那裏幫助很多。