Как Вы возвращаете объект JSON из Сервлета Java

Как Вы возвращаетесь, объект JSON формируют сервлет Java.

Ранее при выполнении Ajax с сервлетом я возвратил строку. Есть ли тип объекта JSON, который должен использоваться или сделать Вас, просто возвращают Строку, которая похожа на объект JSON, например.

String objectToReturn = "{ key1: 'value1', key2: 'value2' }";
149
задан rodrigo-silveira 22 December 2012 в 22:27
поделиться

6 ответов

[

] Я делаю именно то, что вы предлагаете (возвращаю [] String[]).[

] [

] Вы можете подумать об установке MIME-типа для указания, что вы возвращаете JSON, хотя (согласно [] этому другому посту о переполнении стека[] это "приложение/json").[

].
56
ответ дан 23 November 2019 в 22:23
поделиться

ответ. setContentType("text/json");

// create the JSON string, I suggest using some framework.

String your_string;

out.write(your_string.getBytes("UTF-8"));

.
3
ответ дан 23 November 2019 в 22:23
поделиться
[

]Запишите JSON-объект в выходной поток объекта ответа.[

] [

]Также необходимо установить тип содержимого следующим образом, который будет указывать, что вы возвращаете: [

] [
response.setContentType("application/json");
// Get the printwriter object from response to write the required json object to the output stream      
PrintWriter out = response.getWriter();
// Assuming your json object is **jsonObject**, perform the following, it will return your json object  
out.print(jsonObject);
out.flush();
]
169
ответ дан 23 November 2019 в 22:23
поделиться

Просто запишите строку в выходной поток. Вы можете установить MIME-тип на text/javascript (edit): application/json очевидно официальнее), если вы чувствуете себя полезным. (Есть небольшой, но ненулевой шанс, что когда-нибудь что-нибудь не испортит, и это хорошая практика.)

.
8
ответ дан 23 November 2019 в 22:23
поделиться

Сначала преобразовать объект JSON в Строку . Затем просто запишите его в ответную программу вместе с типом содержимого application/json и кодировкой символов UTF-8.

Вот пример, предполагающий, что вы используете Google Gson для преобразования объекта Java в JSON строку:

protected void doXxx(HttpServletRequest request, HttpServletResponse response) {
    // ...

    String json = new Gson().toJson(someObject);
    response.setContentType("application/json");
    response.setCharacterEncoding("UTF-8");
    response.getWriter().write(json);
}

Вот и все.

Смотрите также:

79
ответ дан 23 November 2019 в 22:23
поделиться

Для удобства кодирования на Java может существовать объект JSON. Но, наконец, структура данных будет сериализована в строку. Было бы неплохо задать правильный MIME-тип.

Я бы предложил JSON Java из json.org.

6
ответ дан 23 November 2019 в 22:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: