JsonNode.get( " " ) 返回空值。我想从 json 获取代码"name"和"forks"


RestTemplate restTemplate = new RestTemplate();
String resourceUrl = "https://api.github.com/orgs/engineyard/repos"; //json address
String response = restTemplate.getForObject(resourceUrl,String.class);
ObjectMapper mapper = new ObjectMapper(); //mapper
JsonNode jsonTree = mapper.readTree(response); //JsonNode
System.out.println(jsonTree.get("name")); //null

我正在尝试获取所有的"名称"one_answers";forks"从这个json URL输入链接描述在这里

public static void main(String[] args) throws Exception {
RestTemplate restTemplate = new RestTemplate();
String resourceUrl = "https://api.github.com/orgs/engineyard/repos";
String response = restTemplate.getForObject(resourceUrl, String.class);
ObjectMapper mapper = new ObjectMapper();
JsonNode rootNode = mapper.readTree(response);
System.out.println("All 'name's, including searching in child json objects");
System.out.println("----------------------------------------------------");
for (var val : rootNode.findValues("name")) {
System.out.println(val);
}
System.out.println("Get 'name's only from first child nodes of the root");
System.out.println("----------------------------------------------------");
for (JsonNode firstNode : rootNode) {
System.out.println(firstNode.path("name").asText());
}
}

name字符串替换为forks,得到forks的结果

最新更新