Как сгенерировать JSON из ресурса Джерси?
м с использованием Джерси и хотите вывести следующий JSON только с перечисленными полями:
[
{
"name": "Holidays",
"value": "http://www.google.com/calendar/feeds/usa__en%40holiday.calendar.google.com/public/basic"
},
{
"name": "Personal",
"value": "http://www.google.com/calendar/feeds/myprivatefeed/basic"
}
]
Если я должен, я могу окружить этот JSON с {"каналы»: ...}, но это было бы необязательно. Я хочу получить эту информацию из списка CalendarFeeds, которые хранятся в POJO члена, который извлекается через Hibernate. Вот упрощенные POJO:
public class Member {
private String username;
private String password;
private Set calendarFeeds = new HashSet();
}
public class CalendarFeed {
public enum FeedType { GCAL, EVENT };
private Member owner;
private String name;
private String value;
private FeedType type;
}
В настоящее время яу нас есть ресурс Джерси с именем CalendarResource, который вручную выводит JSON с информацией о фидах календаря:
@Path("/calendars")
public class CalendarResource {
@Inject("memberService")
private MemberService memberService;
@GET
@Produces(MediaType.APPLICATION_JSON)
public String getCalendars() {
// Get currently logged in member
Member member = memberService.getCurrentMember();
StringBuilder out = new StringBuilder("[");
boolean first = true;
for (CalendarFeed feed : member.getPerson().getCalendarFeeds()) {
if (!first) {
out.append(",");
}
out.append("{\"");
out.append(feed.getName());
out.append("\":\"");
out.append(feed.getValue());
out.append("\"}");
first = false;
}
out.append("]");
return out.toString();
}
}
Но я'Я не уверен, как это автоматизировать. Я'Я только начинаю использовать Джерси, и не ясно, как использовать его для возврата JSON. Похоже, у него есть способ сделать это встроенным, но, похоже, мне нужно добавить аннотации к моим POJO. Кроме того, я читал, что другие говорят, что мне нужно использовать Джексона. Я'гуглил и могуПохоже, что это хороший и простой пример возврата JSON из ресурса Джерси. Кто-нибудь знает что-нибудь? Или вы можете показать мне, как использовать Джексона или Джерси для создания JSON для приведенного выше примера?