Skip to content

Instantly share code, notes, and snippets.

@ahndmal
Last active November 26, 2020 18:40
Show Gist options
  • Save ahndmal/af43b267532fba49cf403c1a30da71f6 to your computer and use it in GitHub Desktop.
Save ahndmal/af43b267532fba49cf403c1a30da71f6 to your computer and use it in GitHub Desktop.
private final static String jsonUrl = "https://api.privatbank.ua/p24api/exchange_rates?json&date=01.04.2020";
private final static String path = "D:\\Programming\\java\\projects\\documents-parsing\\src\\resources\\json\\cats.json";
private final static String newFile = "D:\\Programming\\java\\projects\\documents-parsing\\src\\resources\\json\\catsFromGson.json";
GsonBuilder gsonBuilder = new GsonBuilder();
gsonBuilder.setPrettyPrinting();
Gson gson = gsonBuilder.create();
try {
JsonReader jsonReader = new JsonReader(new InputStreamReader(new URL(jsonUrl).openStream()));
Currency currency = gson.fromJson(jsonReader, Currency.class);
System.out.println(currency.getBank());
JsonReader jsonReader2 = new JsonReader(new FileReader(new File(path)));
Cat[] cats = gson.fromJson(jsonReader2, Cat[].class);
for (Cat cat: cats) {
System.out.println(cat.getName());
}
String gsonString = gson.toJson(cats);
System.out.println(gsonString);
Files.write(Paths.get(newFile), gsonString.getBytes(), StandardOpenOption.CREATE);
Cat[] cats1 = gson.fromJson("[\n" +
" {\n" +
" \"name\": \"Murzik\",\n" +
" \"age\": 7\n" +
" },\n" +
" {\n" +
" \"name\": \"Pukh\",\n" +
" \"age\": 8\n" +
" }\n" +
"]", Cat[].class);
for (Cat cat : cats1) {
System.out.println(cat.getName());
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment