2010-10-15 4 views
2

Я ищу библиотеку JSON, которая поддерживает определение глубины сериализации. В идеале мне нужна библиотека, которая обрабатывает все примитивные типы и java.lang, а остальные будут отправлены в пользовательский обработчик. В моем случае пользовательский обработчик должен генерировать объект Link с URL-адресом и классом элемента (для моего REST API).JSON «плоская» сериализация с Java

Вот пример:

 
Person : String name, Car car 

ли сериализовать в

{ 
“name”:”Peter”, 
Link : {“class”:”my.company.Car”, “url”:”http://www.mycompany/myapp/Car/5”} 
} 

Любые идеи, которые библиотека я мог бы использовать (и расширять)? С наилучшими пожеланиями,

Daniel

+0

«Ссылка» также должна быть процитирована или это не будет действительным. JSON. Не имеет значения ради вопроса, но только на всякий случай. – haylem

ответ

1

Заканчивать http://code.google.com/p/google-gson/

+0

Мне нужно определить глубину сериализации (в последний раз я смотрел gson, что было невозможно). Futhermore Я хочу зарегистрировать обработчик для всех не примитивных типов и не java. * Types. – DAniel

0

Вы хотите посмотреть на Jackson.

AS вы можете увидеть, вы можете использовать простые и сложные правила привязки данных, и есть потоковый API, который позволит ограничить глубину разведочной в.

0

Если GSON не соответствует вашим потребностям, я рекомендую JsonMarshaller. Он очень настраиваемый и настраиваемый, но стремится быть простым. Он также имеет очень активное сообщество пользователей и разработчиков.

0

Я не уверен, нужен ли вам фактический контроль глубины сериализации (как указано) или нет - ваше объяснение скорее предлагает вам добавить пользовательские сериализаторы. Теперь: если вам действительно нужны ограничения (например, только мелкая копия), вы можете проверить FlexJson, который якобы имеет явный контроль над глубиной сериализации.

В противном случае Jackson и GSON имеют, по меньшей мере, полную сериализацию фасоли, а также позволяют настраивать сериализаторы.

Смежные вопросы