[英]How to get a JSONObject from a public github repository in Java?
[英]How to read a JSON file content from GitHub public repository using RestTemplate?
我需要使用 RestTemplate 讀取公共 GitHub 存儲庫中 JSON 文件的內容。 這個 JSON 文件的內容經常變化,所以我需要每周從這個文件中提取一次數據。 我只需要獲取字符串 object 的內容。有沒有辦法做到這一點?
公共 GitHub 存儲庫上的 JSON 文件示例: JSON_File
使用RestTemplate,可以這樣實現。
String fortune500String = restTemplate.getForEntity
("https://raw.githubusercontent.com/dariusk/corpora/master/data/corporations/fortune500.json", String.class);
這將返回類型為String
的ResponseEntity
,您可以調用其中的getBody()
來獲取字符串。
這就是你所要求的,但我認為有更好的方法。 我假設數據本身是唯一發生變化的東西,而不是結構。 鑒於此假設,創建一個表示數據的 model,如下所示:
@Data
public class Fortune500 {
private String description;
private List<String> companies;
}
然后配置RestTemplate能夠從text/plain
的內容類型進行轉換
RestTemplate restTemplate = new RestTemplate();
MappingJackson2HttpMessageConverter mappingJackson2HttpMessageConverter = new MappingJackson2HttpMessageConverter();
mappingJackson2HttpMessageConverter.setSupportedMediaTypes(List.of(MediaType.TEXT_PLAIN));
restTemplate.getMessageConverters().add(mappingJackson2HttpMessageConverter);
然后你可以讓 RestTemplate 返回一個 model 的實例,這對你來說會更容易使用。
Fortune500 fortune500 = restTemplate.getForEntity
("https://raw.githubusercontent.com/dariusk/corpora/master/data/corporations/fortune500.json", Fortune500.class).getBody();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.