У меня возникли проблемы чтения этого JSON, код, кажется, работает, но есть 2 проблемыЧтение JSON с помощью Джексоном
- Он читает только один блок в JSON, не полностью.
- Он всегда имеет значение «null» в качестве значения в свойствах.
Я пытался показать json, организованный в консоли, но когда я попробую, эти две вещи случаются.
Образец данных JSON:
{
"RestResponse" : {
"messages" : [ "More webservices are available at http://www.groupkt.com/post/f2129b88/services.htm", "Total [249] records found." ],
"result" : [ {
"name" : "Afghanistan",
"alpha2_code" : "AF",
"alpha3_code" : "AFG"
}, {
"name" : "Åland Islands",
"alpha2_code" : "AX",
"alpha3_code" : "ALA"
}, {
"name" : "Albania",
"alpha2_code" : "AL",
"alpha3_code" : "ALB"
}, ...
]
}
}
Мой код:
public class jsonController {
public void run() {
ObjectMapper mapper = new ObjectMapper();
try {
jsonHandler obj = mapper.readValue(new URL("http://services.groupkt.com/country/get/all"), jsonHandler.class);
//Organized Print
String organizedprint = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(obj);
System.out.println(organizedprint);
} catch (JsonGenerationException e) {
e.printStackTrace();
} catch (JsonMappingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
И в основном я получил
jsonController obj = new jsonController();
obj.run();
И вот jsonHandler
@JsonIgnoreProperties(ignoreUnknown=true)
public class jsonHandler {
private String restResponse;
private String messages;
private String result;
private String name;
private String alpha2;
private String alpha3;
}
Любая идея, что я делаю неправильно?
Что такое jsonHandler? Это ваш картографический класс? Можете ли вы опубликовать его? –
@fabienbk там, у него есть геттеры и сеттеры, я не ставил их здесь, чтобы сделать его короче. – JuanPa
Спасибо. См. Мой ответ ниже. –