Разрешить Джексону не выводить имя класса при сериализации (используя Spring MVC) - PullRequest
6 голосов
/ 21 июля 2010

Есть ли способ заставить Джексона не указывать имя класса в выводе Json? Я задал вопрос , который привел к этому вопросу, но я спрашиваю, как я надеюсь, более сфокусированный вопрос. При этом я использую Spring MVC, но я не уверен, насколько это важно.

Итак, вместо

<code>
{"NamedSystem":{"name":"Bob Dole","id":"0198b96c-fe18-4aa6-9e61-b5f7149414c2"}}

Я хочу

<code>
{"name":"Bob Dole","id":"0198b96c-fe18-4aa6-9e61-b5f7149414c2"}

Я мог бы предпочесть первое, но я не знаю, как заставить Джексона распознавать имя класса при десериализации, поэтому, если кто-то это знает, это тоже будет полезно.

Ответы [ 3 ]

4 голосов
/ 22 июля 2010

Я нашел способ сделать это с помощью Spring MVC, благодаря http://pascaldimassimo.com/2010/04/13/how-to-return-a-single-json-list-out-of-mappingjacksonjsonview/#comment-4

Я фактически шел по этому маршруту (изменил способ, которым он сериализуется Spring), и у меня было что-то похожее, но не совсемто же самое (и который не работал), но это делает трюк отлично.

2 голосов
/ 22 июля 2010

Не знаю, что здесь делать, но я думаю, что именно Spring добавляет это имя.Сам Джексон не будет делать это по умолчанию.Так что это скорее вопрос SpringMVC.

1 голос
/ 22 июля 2010

Я думаю, вам придется написать собственный сериализатор, который обрабатывает ваши данные. Это может помочь вам на пути к достижению этого.

...