Как вернуть данные через JSON - PullRequest
2 голосов
/ 12 декабря 2011

Я пытаюсь вернуть информацию о guests (только id и name прямо сейчас), но я не могу понять, как это правильно сделать. Мой метод ниже

Как я могу отправить только идентификатор и имя на myData.put(), поскольку java не принимает ассоциативные массивы? Я пытался создать класс в этом методе, который будет возвращен, но это также является недопустимым в Java. Какова идея решения здесь?

/**
 * Retrieves representation of an instance of contentmanagement.ContentManagement
 * @return an instance of java.lang.String
 */
@GET @Path("getHtml")
@Produces("application/json")
public String getGuests() {
    JSONArray myData = new JSONArray();

    for(Guest item : guestDao.getAllGuests()) {
        myData.put({});
    }

    return myData.toString();
}

1 Ответ

1 голос
/ 12 декабря 2011

Класс JSONObject представляет пару имя-значение, поэтому ваш код выглядит следующим образом:

/**
 * Retrieves representation of an instance of contentmanagement.ContentManagement
 * @return an instance of java.lang.String
 */
@GET @Path("getHtml")
@Produces("application/json")
public String getGuests() {
    JSONArray myData = new JSONArray();

    for(Guest item : guestDao.getAllGuests()) {
        myData.put(new JSONObject().put("id", item.getID())
          .put("name", item.getName()));
    } 

    return myData.toString();
}
...