2011-08-30 14 views
11

Jersey framework używa zarówno bibliotek Jackson, jak i Jettison do tworzenia/rozrządowywania JSON. AFAIK, Jettison jest przeznaczony do mapowania JSON-a na XML (z innym mechanizmem wspierającym, takim jak mapowana notacja), a Jackson - generacją/parsowaniem JSON-a (używam tego również bez Jersey).Wykorzystanie Jackson & Jettison w Jersey

Czy firma Jersey używa tych dwóch urządzeń do dwóch różnych funkcji lub obu do tej samej funkcji generowania/parsowania JSON?

Chcę tylko obsługi formatu JSON. Na moją pierwszą myśl, wydaje się, że mogę usunąć jedną z zależności i myślę, że mogę usunąć Jettison, ponieważ Jacksone wydaje się bardziej naturalnym wyborem do generowania/parsowania JSON.

Odpowiedz

7

Jersey użyje jednego lub drugiego, a nie obu, do wszystkich procesów JSON. Rekomendacja, o ile wiem, to wykorzystanie Jacksona; Wsparcie Jettison jest starsze i zostało wdrożone, zanim Jackson stał się dostępny. Jettison wciąż jest obsługiwany ze względu na kompatybilność, ale jeśli jakiś kod nie opiera się na dokładnej strukturze, którą tworzy (co różni się od prostego mapowania), nie ma dużej korzyści z jego używania.

+0

Dzięki. Ale widzę Jettison jako zależność (używam Mavena), mimo że używam mapowania regularnego/prostego do przodu? – manikanta

+0

Tak, jeśli coś innego tego wymaga (albo w czasie wykonywania, albo po prostu dla kompilacji, tak jak ma to miejsce w przypadku firmy Jersey), musi zostać uwzględnione. Ale to, czy zostanie użyte, można konfigurować z Jersey i nie ma nic złego w jego włączaniu. – StaxMan

+6

Nie zgadzam się z terminem "nie ma nic złego w jego włączaniu". Wiedząc, co jest wykorzystywane do tego, co ważne. Maven sprawia, że ​​programiści są leniwi, a projekty nadęte. –

1

Zgadzam się, użyj Jackson, a nawet GSON z google. Jettison ma zbyt wiele ograniczeń, a wydajność jest również niższa.