JSON.simple – чтение и запись JSON

JSON.simple — это легкая библиотека обработки JSON, которую можно использовать для чтения и записи файлов и строк JSON. Закодированный/декодированный JSON будет полностью соответствовать спецификации JSON( RFC4627 ).

Библиотека JSON.simple довольно старая и не обновлялась с марта 2012 года. Библиотека Google GSON — хороший вариант для чтения и записи JSON.

В этом руководстве по Java JSON мы сначала рассмотрим краткий пример записи в файл JSON, а затем прочитаем JSON из файла.

1. Возможности JSON.simple

  • Полное соответствие спецификации JSON(RFC4627).
  • Поддерживает кодирование, декодирование/анализ и экранирование JSON.
  • Простота использования за счет повторного использования интерфейсов «Карта» и «Список».
  • Поддерживает потоковый вывод текста JSON.
  • Высокая производительность.
  • Нет зависимости от внешних библиотек.

2. Json.simple Maven

Обновите pom.xml с помощью зависимости json-simple maven.

 <зависимость><groupId>com.googlecode.json-simple</groupId><artifactId>json-simple</artifactId><версия>1.1.1</версия></зависимость>

3. Записать JSON в файл

Чтобы записать JSON-тест в файл, мы будем работать в основном с двумя классами:

  1. JSONArray : Для записи данных в массивы json. Используйте его метод add() для добавления объектов типа JSONObject.
  2. JSONObject : Для записи объектов json. Используйте его метод put() для заполнения полей.

После заполнения указанных выше объектов используйте экземпляр FileWriter для записи файла JSON.

 пакет com.howtodoinjava.demo.jsonsimple;импорт java.io.FileWriter;импорт java.io.IOException;импорт org.json.simple.JSONArray;импорт org.json.simple.JSONObject;публичный класс WriteJSONExample{@SuppressWarnings("не отмечено")public static void main( String[] args ){//Первый сотрудникJSONObject employeeDetails = new JSONObject();employeeDetails.put("firstName", "Локеш");employeeDetails.put("lastName", "Гупта");employeeDetails.put("веб-сайт", "howtodoinjava.com");JSONObject employeeObject = new JSONObject();employeeObject.put("сотрудник", employeeDetails);//Второй сотрудникJSONObject employeeDetails2 = новый JSONObject();employeeDetails2.put("firstName", "Брайан");employeeDetails2.put("фамилия", "Шульц");employeeDetails2.put("веб-сайт", "example.com");JSONObject employeeObject2 = new JSONObject();employeeObject2.put("сотрудник", employeeDetails2);//Добавить сотрудников в списокJSONArray employeeList = new JSONArray();employeeList.add(employeeObject);employeeList.add(employeeObject2);//Записать JSON-файлпопробуйте(файл FileWriter = новый FileWriter("employees.json")) {//Мы можем записать любой экземпляр JSONArray или JSONObject в файлфайл.write(employeeList.toJSONString());файл.flush();} поймать(IOException e) {e.printStackTrace();}}}

Вывод программы.

 [{"сотрудник": {"firstName": "Локеш","lastName": "Гупта","веб-сайт": "howtodoinjava.com"}},{"сотрудник": {"firstName": "Брайан","фамилия": "Шульц","веб-сайт": "example.com"}}]

4. Чтение JSON из файла

Чтобы прочитать JSON из файла, мы будем использовать JSON-файл, созданный в предыдущем примере.

  1. Прежде всего, мы создадим экземпляр JSONParser для анализа JSON-файла.
  2. Используйте FileReader для чтения JSON-файла и передачи его парсеру.
  3. Начните читать объекты JSON один за другим, основываясь на их типе, т. е. JSONArray и JSONObject.
 пакет com.howtodoinjava.demo.jsonsimple;импортировать java.io.FileNotFoundException;импорт java.io.FileReader;импорт java.io.IOException;импорт org.json.simple.JSONArray;импорт org.json.simple.JSONObject;импорт org.json.simple.parser.JSONParser;импорт org.json.simple.parser.ParseException;публичный класс ReadJSONExample{@SuppressWarnings("не отмечено")public static void main(String[] args){//Объект парсера JSON для анализа прочитанного файлаJSONParser jsonParser = новый JSONParser();попробуйте(FileReader reader = new FileReader("employees.json")){//Чтение файла JSONОбъект obj = jsonParser.parse(reader);JSONArray employeeList =(JSONArray) obj;System.out.println(employeeList);//Итерация по массиву сотрудниковemployeeList.forEach( emp -> parseEmployeeObject((JSONObject) emp ) );} поймать(FileNotFoundException e) {e.printStackTrace();} поймать(IOException e) {e.printStackTrace();} поймать(ParseException e) {e.printStackTrace();}}private static void parseEmployeeObject(JSONObject сотрудник){// Получить объект сотрудника в спискеJSONObject employeeObject =(JSONObject) employee.get("сотрудник");//Получить имя сотрудникаСтрока firstName =(Строка) employeeObject.get("firstName");System.out.println(firstName);//Получить фамилию сотрудникаString lastName =(String) employeeObject.get("lastName");System.out.println(фамилия);//Получить имя веб-сайта сотрудникаСтрока веб-сайт =(Строка) employeeObject.get("веб-сайт");System.out.println(веб-сайт);}}

Вывод программы.

 [{"employee":{"firstName":"Локеш", "lastName":"Гупта", "website":"howtodoinjava.com"}},{"employee":{"firstName":"Брайан", "lastName":"Шульц", "website":"example.com"}}]ЛокешГуптаhowtodoinjava.comБрайанШульцпример.com

Ссылка:

JSON.simple на Git
JSON.simple Архив Google Code

Загрузить исходный код

Прокрутить вверх