Как сгенерировать 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 для приведенного выше примера?

Ответы на вопрос(2)

Ваш ответ на вопрос