Как вы возвращаете объект JSON из сервлета Java?
Ранее при выполнении AJAX с сервлетом я возвращал строку. Есть ли тип объекта JSON, который нужно использовать, или вы просто возвращаете строку, которая выглядит как объект JSON, например
String objectToReturn = "{ key1: 'value1', key2: 'value2' }";
{ key1: value1, key2: value2 }
?Ответы:
Я делаю именно то, что вы предлагаете (вернуть
String
).Вы могли бы рассмотреть возможность установки типа MIME, чтобы указать, что вы возвращаете JSON, хотя (согласно этому другому посту stackoverflow это «application / json»).
источник
Запишите объект JSON в выходной поток объекта ответа.
Вы также должны установить тип контента следующим образом, который будет указывать, что вы возвращаете:
источник
String jsonStr = "{\"my_key\": \"my_value\"}";
Сначала преобразуйте объект JSON в
String
. Затем просто запишите его автору ответов вместе с типом содержимогоapplication/json
и кодировкой символов UTF-8.Вот пример, предполагающий, что вы используете Google Gson для преобразования объекта Java в строку JSON:
Вот и все.
Смотрите также:
источник
источник
Просто напишите строку в выходной поток. Если вы чувствуете себя полезным, вы можете установить MIME-тип на
text/javascript
( edit :application/json
по-видимому, является officialer). (Существует небольшая, но ненулевая вероятность того, что когда-нибудь это что-то испортит, и это хорошая практика.)источник
Gson очень полезен для этого. даже проще вот мой пример:
}
Нужно сказать людям, если ваши vars пустые при использовании gson, он не будет создавать json для вас. Просто
источник
Я использовал Джексона для преобразования объекта Java в строку JSON и отправки следующим образом.
источник
Для удобства программирования Java может существовать объект JSON. Но, наконец, структура данных будет сериализована в строку. Установка правильного типа MIME была бы хорошей.
Я бы предложил JSON Java с сайта json.org .
источник
String
- выход должен идти прямоOutputStream
. Или, если по какой-то причине нужна промежуточная форма, можете использоватьbyte[]
. Большинство библиотек Java JSON могут писать напрямуюOutputStream
.В зависимости от версии Java (или JDK, SDK, JRE ... я не знаю, я новичок в экосистеме Java),
JsonObject
абстрактность. Итак, это новая реализация:источник
response.setContentType ( "текст / JSON");
// создаем строку JSON, я предлагаю использовать некоторые фреймворки.
Строка your_string;
out.write (your_string.getBytes ( "UTF-8"));
источник
Рядом с BalusC ответ в 4 простых строчках, используя Google Gson lib. Добавьте эти строки в метод сервлета:
Удачи!
источник
Используя Gson, вы можете отправить ответ JSON, см. Код ниже
Вы можете увидеть этот код
полезно от JSON ответ сервлета в Java
источник
Вы можете использовать ниже, как.
Если вы хотите использовать массив JSON:
Создайте класс с именем Model, как показано ниже
В sevlet getMethod вы можете использовать как ниже
Выход :
Если вы хотите JSON Object просто использовать как:
Над функцией вывода :
Полный источник предоставлен GitHub: https://github.com/enamul95/ServeletJson.git
источник