- Кофе-брейк #175. Как мы можем прочитать файл JSON в Java? Что такое Java Development Kit (JDK)?
- Чтение файла JSON в Java
- Синтаксис
- Особенности JSON
- Типы данных
- JSON в Java
- JSON-объекты
- JSON-массивы
- Простая программа для JSON на Java
- Чтение файла JSON в Java
- Что такое Java Development Kit (JDK)?
- Самые популярные JDK
- Скомпилируйте и запустите код Java с помощью JDK
- Компонент Jar
- How to Read JSON Object From File in Java?
- Maven Dependency:
- Sample JSON file content:
- CrunchifyJSONReadFromFile.java
- Output:
- How to read JSON from a file using Gson in Java
- You might also like.
- JSON.simple – Read and Write JSON
Кофе-брейк #175. Как мы можем прочитать файл JSON в Java? Что такое Java Development Kit (JDK)?
Источник: DZone JSON — это простой формат для хранения и отправки данных на веб-страницу. Обычно он используется в JavaScript, но сегодня мы узнаем, как с ним работать в Java.
Чтение файла JSON в Java
- JSON — это текстовый файл, поэтому его можно легко передавать.
- JSON не зависит от конкретного языка.
Синтаксис
Данные в файле JSON должны быть в формате пар имя/значение, запятыми разделяют различные данные. Фигурные скобки используются для хранения объектов, а квадратные скобки — для хранения массивов.
Особенности JSON
- Простой.
- Имеет независимую платформу.
- Легко передать.
- Поддерживает расширяемость.
- Наличие совместимости.
Типы данных
- String — строка представлена внутри кавычек.
- Number — представляет числовые символы.
- Boolean – состоит либо из true, либо из false.
- Null – пустой.
JSON в Java
JSON-объекты
JSON-объекты представлены между фигурными скобками. Объекты должны быть в парах ключ/значение (key/value). Ключ представлен в виде String, а значения представляют любые типы данных, упомянутые выше. Пример:
JSON-массивы
Массивы JSON используются для хранения объектов. Эти объекты заключены в квадратные скобки []. Пример:
В приведенном выше примере сведения о студентах представлены в виде массива, а внутри массива данные о студентах хранятся в виде объектов.
Простая программа для JSON на Java
import org.json.simple.JSONObject; public class Json < public static void main(String args[]) < JSONObject j = new JSONObject(); j.put("Name", "Kotte"); j.put("College", "BVRIT"); j.put("Branch" , "Computer science engineering"); j.put("Section", "CSE-C"); System.out.println(j); >>
Чтение файла JSON в Java
Приведенный выше код — это файл, который используется для чтения. Мы используем библиотеку json.simple .
//program for reading a JSON file import org.json.simple.JSONArray; import org.json.simple.JSONObject; import org.json.simple.parser.*; public class JSON < public static void main(Strings args[]) < // file name is File.json Object o = new JSONParser().parse(new FileReader(File.json)); JSONObject j = (JSONObject) o; String Name = (String) j.get("Name"); String College = (String ) j.get("College"); System.out.println("Name :" + Name); System.out.println("College :" +College); >>
В данной программе используется JSONParser().parse() , который присутствует в org.json.simple.parser.* для анализа файла File.json.
Что такое Java Development Kit (JDK)?
Источник: Medium Эта публикация ознакомит вас с работой и сферой использования Java Development Kit. В своей работе программисты часто используют Java Development Kit (Комплект для разработки Java), известный как JDK. Он представляет собой кроссплатформенный набор инструментов и библиотек для создания программных приложений и апплетов на основе Java. Пакет JDK включает в себя как виртуальную машину Java (известную как JVM), так и среду выполнения Java (известную как JRE). Также в JDK имеется компилятор javac, инструменты мониторинга производительности, отладчик, стандартные библиотеки классов Java, примеры, документация и различные утилиты. Разработкой Java Development Kit (JDK) занимается корпорация Oracle. В ее продукте реализованы JVMS, JLS и Java API SE (API). Помимо коммерческой версии Oracle представила на рынке бесплатную версию пакета OpenJDK. Также на рынке Java-разработки существуют альтернативные JDK от других компаний. Если единственное, что вы хотите сделать на своем компьютере, — это запускать Java-приложения, то вам не нужно беспокоиться о различиях между Java Runtime Environment (JRE) и Java Development Kit (JDK). Однако вам понадобится Java Development Kit (JDK) для создания программного обеспечения на основе Java. Среда выполнения Java (JRE), входящая в состав JDK, называется частной средой выполнения (Private Runtime). Эта среда отличается от стандартной JRE тем, что включает дополнительные компоненты. Также она дает разработчикам доступ к виртуальной машине Java (JVM) и всем библиотекам классов, используемым в производственных средах, в дополнение к библиотекам интернационализации и IDL.
Самые популярные JDK
- Azul Systems Zing : высокопроизводительная виртуальная машина Java с малой задержкой для Linux.
- Azul Systems (для Linux, Windows, Mac OS X и IBM J9 JDK: для AIX, Linux, Windows и многих других операционных систем).
- Amazon Corretto (OpenJDK и долгосрочная поддержка включены).
Скомпилируйте и запустите код Java с помощью JDK
Вы можете создать исполняемую программу Java из текстового файла с помощью компилятора JDK. При компиляции ваш Java-код преобразуется в байт-код с расширением .class . Для начала вам нужно создать текстовый файл Java и сохранить его под уникальным именем. В данном случае мы сохраняем Hello.java в качестве имени файла. Затем запустите инструмент компиляции Java командой javac , и все готово. Чтобы избежать получения сообщения об ошибке, такого как “The system cannot locate a path supplied” (Система не может найти указанный путь), вы должны указать полный путь к вашему текстовому файлу Java. Hello — это имя файла, а полному пути к файлу предшествует Hello в следующем примере команды. Путь и исполняемый файл для javac.exe должны быть заключены в кавычки. Теперь, когда Hello.class создан, вы можете увидеть его в том же каталоге, что и Hello.java , что очень удобно. Теперь вы можете выполнить свой код, просто набрав java hello в своем терминале. Имейте в виду, что запуск вашего кода не требуется включение файла .class.
Компонент Jar
В JDK включены многие важные инструменты. Помимо javac чаще всего используется инструмент jar. В нем можно найти не что иное, как набор классов Java. Как только файлы .class будут готовы, вы можете упаковать их и сохранить в архиве, известном как “jar”. После этого jar-файл можно запускать в мобильной среде (Android).
How to Read JSON Object From File in Java?
In this Java Example I’ll use the same file which we have generated in previous tutorial.
Maven Dependency:
com.googlecode.json-simple json-simple 1.1.1
Sample JSON file content:
CrunchifyJSONReadFromFile.java
package crunchify.com.tutorials; import org.json.simple.JSONArray; import org.json.simple.JSONObject; import org.json.simple.parser.JSONParser; import java.io.FileReader; import java.util.Iterator; /** * @author Crunchify.com * How to Read JSON Object From File in Java? */ public class CrunchifyJSONReadFromFile < @SuppressWarnings("unchecked") public static void main(String[] args) < JSONParser parser = new JSONParser(); try < Object obj = parser.parse(new FileReader("/Users/Shared/crunchify.json")); // A JSON object. Key value pairs are unordered. JSONObject supports java.util.Map interface. JSONObject jsonObject = (JSONObject) obj; // A JSON array. JSONObject supports java.util.List interface. JSONArray companyList = (JSONArray) jsonObject.get("Company List"); // An iterator over a collection. Iterator takes the place of Enumeration in the Java Collections Framework. // Iterators differ from enumerations in two ways: // 1. Iterators allow the caller to remove elements from the underlying collection during the iteration with well-defined semantics. // 2. Method names have been improved. Iteratoriterator = companyList.iterator(); while (iterator.hasNext()) < System.out.println(iterator.next()); >> catch (Exception e) < e.printStackTrace(); >> >
Output:
Name: Crunchify.com Author: App Shah Company List: Compnay: eBay Compnay: Paypal Compnay: Google
I would recommend to use Maven’s pom.xml to add json-simple-1.1.1.jar
If you liked this article, then please share it on social media. Have a question or suggestion? Please leave a comment to start the discussion.
How to read JSON from a file using Gson in Java
In this short article, you’ll learn how to read JSON data from a file by using the Gson library. Gson is a popular JSON processing library developed and maintained by Google for reading, writing, and parsing JSON data in Java.
implementation 'com.google.code.gson:gson:2.8.6'
dependency> groupId>com.google.code.gsongroupId> artifactId>gsonartifactId> version>2.8.6version> dependency>
"name": "John Doe", "email": "john.doe@example.com", "roles": [ "Member", "Admin" ], "admin": true >
To read the above JSON file contents to a Java Map , you can use the fromJson() method from Gson as shown below:
try // create Gson instance Gson gson = new Gson(); // create a reader Reader reader = Files.newBufferedReader(Paths.get("user.json")); // convert JSON file to map Map?, ?> map = gson.fromJson(reader, Map.class); // print map entries for (Map.Entry?, ?> entry : map.entrySet()) System.out.println(entry.getKey() + "=" + entry.getValue()); > // close reader reader.close(); > catch (Exception ex) ex.printStackTrace(); >
name=John Doe email=john.doe@example.com roles=[Member, Admin] admin=true
public class User public String name; public String email; private String[] roles; private boolean admin; public User() > public User(String name, String email, String[] roles, boolean admin) this.name = name; this.email = email; this.roles = roles; this.admin = admin; > // getters and setters, toString() . (omitted for brevity) >
The following example shows how you can read the above JSON file into a User object by using the fromJson() method:
try // create Gson instance Gson gson = new Gson(); // create a reader Reader reader = Files.newBufferedReader(Paths.get("user.json")); // convert a JSON string to a User object User user = gson.fromJson(reader,User.class); // print user object System.out.println(user); // close reader reader.close(); > catch (Exception ex) ex.printStackTrace(); >
Username='John Doe', email='john.doe@example.com', roles=[Member, Admin], admin=true>
[ "name": "John Doe", "email": "john.doe@example.com", "roles": [ "Member", "Admin" ], "admin": true >, "name": "Tom Lee", "email": "tom.lee@example.com", "roles": [ "Member" ], "admin": false > ]
You can now read a list of User objects from the above JSON file by using the same fromJson() method, as shown below:
try // create Gson instance Gson gson = new Gson(); // create a reader Reader reader = Files.newBufferedReader(Paths.get("users.json")); // convert JSON array to list of users ListUser> users = new Gson().fromJson(reader, new TypeTokenListUser>>() >.getType()); // print users users.forEach(System.out::println); // close reader reader.close(); > catch (Exception ex) ex.printStackTrace(); >
Username='John Doe', email='john.doe@example.com', roles=[Member, Admin], admin=true> Username='Tom Lee', email='tom.lee@example.com', roles=[Member], admin=false>
For more Gson examples, check out the how to read and write JSON using Gson in Java tutorial. ✌️ Like this article? Follow me on Twitter and LinkedIn. You can also subscribe to RSS Feed.
You might also like.
JSON.simple – Read and Write JSON
JSON.simple is a lightweight JSON processing library that can be used to read and write JSON files and strings. The encoded/decoded JSON will be in full compliance with JSON specification (RFC4627).
JSON.simple library is pretty old and has not been updated since march, 2012. Google GSON library is a good option for reading and writing JSON.
In this Java JSON tutorial, we will first see a quick example of writing to a JSON file and then we will read JSON from the file.
- Full compliance with JSON specification (RFC4627).
- Supports encode, decode/parse and escape JSON.
- Easy to use by reusing Map and List interfaces.
- Supports streaming output of JSON text.
- High performance.
- No dependency on external libraries.
Update pom.xml with json-simple maven dependency.
com.googlecode.json-simple json-simple 1.1.1
To write JSON test into the file, we will be working with mainly two classes:
- JSONArray : To write data in json arrays. Use its add() method to add objects of type JSONObject .
- JSONObject : To write json objects. Use it’s put() method to populate fields.
After populating the above objects, use FileWriter instance to write the JSON file.
package com.howtodoinjava.demo.jsonsimple; import java.io.FileWriter; import java.io.IOException; import org.json.simple.JSONArray; import org.json.simple.JSONObject; public class WriteJSONExample < @SuppressWarnings("unchecked") public static void main( String[] args ) < //First Employee JSONObject employeeDetails = new JSONObject(); employeeDetails.put("firstName", "Lokesh"); employeeDetails.put("lastName", "Gupta"); employeeDetails.put("website", "howtodoinjava.com"); JSONObject employeeObject = new JSONObject(); employeeObject.put("employee", employeeDetails); //Second Employee JSONObject employeeDetails2 = new JSONObject(); employeeDetails2.put("firstName", "Brian"); employeeDetails2.put("lastName", "Schultz"); employeeDetails2.put("website", "example.com"); JSONObject employeeObject2 = new JSONObject(); employeeObject2.put("employee", employeeDetails2); //Add employees to list JSONArray employeeList = new JSONArray(); employeeList.add(employeeObject); employeeList.add(employeeObject2); //Write JSON file try (FileWriter file = new FileWriter("employees.json")) < //We can write any JSONArray or JSONObject instance to the file file.write(employeeList.toJSONString()); file.flush(); >catch (IOException e) < e.printStackTrace(); >> >
To read JSON from file, we will use the JSON file we created in the previous example.
- First of all, we will create JSONParser instance to parse JSON file.
- Use FileReader to read JSON file and pass it to parser.
- Start reading the JSON objects one by one, based on their type i.e. JSONArray and JSONObject .
package com.howtodoinjava.demo.jsonsimple; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; import org.json.simple.JSONArray; import org.json.simple.JSONObject; import org.json.simple.parser.JSONParser; import org.json.simple.parser.ParseException; public class ReadJSONExample < @SuppressWarnings("unchecked") public static void main(String[] args) < //JSON parser object to parse read file JSONParser jsonParser = new JSONParser(); try (FileReader reader = new FileReader("employees.json")) < //Read JSON file Object obj = jsonParser.parse(reader); JSONArray employeeList = (JSONArray) obj; System.out.println(employeeList); //Iterate over employee array employeeList.forEach( emp ->parseEmployeeObject( (JSONObject) emp ) ); > catch (FileNotFoundException e) < e.printStackTrace(); >catch (IOException e) < e.printStackTrace(); >catch (ParseException e) < e.printStackTrace(); >> private static void parseEmployeeObject(JSONObject employee) < //Get employee object within list JSONObject employeeObject = (JSONObject) employee.get("employee"); //Get employee first name String firstName = (String) employeeObject.get("firstName"); System.out.println(firstName); //Get employee last name String lastName = (String) employeeObject.get("lastName"); System.out.println(lastName); //Get employee website name String website = (String) employeeObject.get("website"); System.out.println(website); >>
[ >, > ] Lokesh Gupta howtodoinjava.com Brian Schultz example.com