Я разрабатывал спокойный веб-клиент и пытался получить полезную нагрузку JSON из ответа метода GET. Я использую Джерси. Но я просто не могу прочитать данные JSON, используя метод response.getEntity(). Я пробовал много методов, включая response.bufferEntity(), но вывод всегда оставался пустым. Ниже мой код и вывод, и, кроме того, я могу видеть данные JSON прямо в ответном пакете, захваченном в wirehark. Я бы очень признателен всем, кто пытается помочь выяснить, почему или предоставить решение. Спасибо!Не могу получить данные JSON от ответа Джерси GET
Код:
public JSONObject Get(String requestPath){
ClientResponse response = webResource.path(requestPath)
.header("Content-Type", contTypeHeader)
.header("Accept",acceptHeader)
.header("Authorization", authZ)
.get(ClientResponse.class);
response.bufferEntity();
if (!(response.getStatus() == 201 || response.getStatus() == 200)) {
throw new RuntimeException("Failed : HTTP error code : " + response.getStatus());
}
System.out.println(response.getEntity(JSONObject.class));
return null;
}
и выход всегда так: {}
Благодарим вас за ответ. Что делать, если JSON является немного более сложным, как это: { "ВТН": [ { "Описание": "ВТН Хао", "имя" : "Tenant_Hao", "hardTimeout": "0", "idleTimeout": "300" }, { "описание": "ВТН Цзюэ", "название" : "Tenant_Jue", "hardTimeout": "0", "idleTimeout": "300" } ] }, а количество записей не определено. как я могу определить POJO? –
Вам нужно будет сделать некоторые уроки Джексона. Начните [здесь] (http://www.tutorialspoint.com/jackson/jackson_data_binding_generics.htm) и [здесь] (http://wiki.fasterxml.com/JacksonInFiveMinutes). –
В основном с тем, что вы предоставили, просто используйте pojo с атрибутом 'vtn', который имеет тип' List '. 'SomeObject' должен иметь свойства' description', 'name' и т. Д. –