Преобразование Java-объекта в json string_complex json-строки в объект
Преобразование Java-объекта в json string_complex json-строки в объект

Всем привет, мы снова встретились, я ваш друг Цюаньчжаньцзюнь.

Преобразование строки JSON в Java

При обучении написанию программного обеспечения на основе Java одним из первых препятствий, с которыми сталкиваются разработчики, является то, как связать свой код с другим программным обеспечением. Обычно отсюда берется JSON. Хотя вы можете быть волшебником Java, JSON — совсем другое дело. В любом случае, в этом сообщении блога объясняется все, что вам нужно для выполнения работы.

Объекты Java — это комбинации данных и процессов, которые манипулируют доступными данными.

对象既иметьсостояниесноваПоведение。 В Java используйте ключевое слово « новый» создает объект.

Объекты создаются на основе шаблонов, называемых классами.

Объекты являются экземплярами классов.

Например,наш“кот объект”иметь:США-цвет,имя,Состояние объекта-символа хранится в полях (переменных). Поведение–вызовpur,еда,Метод (функция) сна отображает Поведение объекта.

  • JSONдаJavaScript Object Notationаббревиатура от。
  • Формат JSON был разработан как формат обмена данными, а его синтаксис является подмножеством JavaScript.
  • Контекст, заключенный в кавычки (одинарные или двойные), загруженный из текстового файла и т. д., называется строкой JSON. Например, {"id": 1, "имя": "Си Ам", "цвет": "Кремовый", "цвет глаз": "Голубой", "порода": "Сиамская"}
  • JSON совместим, то есть не зависит от языка/платформы.
  • Формат JSON используется для сериализации и передачи структурированных данных по сетевым соединениям. Он в основном используется для передачи данных между серверами и мобильными/веб-приложениями и является альтернативой XML.

В следующем примере показан сценарий клиент-сервер, в котором веб-служба RESTful принимает данные в формате XML/JSON.

  • Приложения веб-сервера RESTful разработаны с использованием Java:
  • Конечные пользователи не понимают xml/json, но это не проблема.
  • Конечный пользователь общается с мобильным приложением, которое может быть Android.
  • Конечный пользователь общается с мобильным приложением, которое может быть PHP.
  • Мобильные/веб-приложения взаимодействуют с веб-сервисами RESTful через XML/JSON.

На приведенном выше примере диаграммы наш веб-сервис RESTful разработан с использованием Java.

Поскольку объекты Java могут пониматься только приложениями Java, вам необходимо преобразовать объекты Java в JSON при создании веб-сервисов для приложений Android. Допустим, мобильное приложение представляет собой гибридное приложение, в котором интерфейс обрабатывается представлениями Android, а транзакции данных отправляются через собственный веб-сервис с использованием JSON. В этом случае нам нужно отправлять/получать запросы от приложения Android в/из базы данных, используя веб-сервисы/api и структуры данных JSON.

  • JSON — это данные простого строкового формата. JSONдачитаемый формат。 Из него очень легко читать и выводить информацию.
  • Формат JSONлегкийиспользовать。
  • По сравнению с другими форматами, такими как XML,JSONмассаоченьсвет
  • JSONФормат в порядкесветобъектно-ориентированный подходПреобразование в объект Java
  • JSONдаСовместимость:Независимость от программы и платформы。

Пошаговый пример преобразования объекта Java в строку JSON

Ява Самый распространенный способ преобразования объекта в строку JSON — использовать API. 。 Наиболее часто используемые API для этой цели — Jackson и GSON.

В этом примере показано, как использовать JACKSON Объект APIЯва преобразуется в строку JSON.

Мы можем использовать Джексона APIпредоставилКласс ObjectMapperСделать преобразование。

  • writeValueAsString() для Явы объект в JSON
  • readValue() используется для преобразования JSON в объект Java.

Шаг 1:

При использовании MAVEN для управления зависимостями (рекомендуется) вы можете включить следующие зависимости для загрузки файла JAR, любые зависимости JACKSON и автоматически включать их в путь к классам проекта.

Добавьте следующие зависимости в файл pom:

Язык кода:javascript
копировать
 <dependencies>
 <dependency>

        <groupId>com.fasterxml.jackson.core</groupId>

        <artifactId>jackson-databind</artifactId>

        <version> 2.9 . 8 </version>
 </dependency>
 </dependencies>

Шаг 2:

Язык кода:javascript
копировать
 ObjectMapper mapper = new ObjectMapper();
 try {

  String json = mapper.writeValueAsString(cat);

  System.out.println( "ResultingJSONstring = " + json);

  //System.out.println(json);
 } catch (JsonProcessingException e) {

   e.printStackTrace();
 }

В этом примере используется следующий код:

ИспользованиеJACKSONapiToConvertJavaOBJtoJSONstring

Язык кода:javascript
копировать
 import com.fasterxml.jackson.core.JsonProcessingException;

 import com.fasterxml.jackson.databind.ObjectMapper;

 public class useJACKSONapiToConvertJavaOBJtoJSONstring {

     public static void main(String[] args) {

         Cat cat = new Cat();

         cat.setId(1L);

         cat.setName( "SiAm" );

         cat.setColor( "Cream" );

         cat.setEyecolor( "Blue" );

         cat.setBreed( "Siamese" );

         ObjectMapper mapper = new ObjectMapper();

         try {

             String json = mapper.writeValueAsString(cat);

             System.out.println( "ResultingJSONstring = " + json);

             //System.out.println(json);

         } catch (JsonProcessingException e) {

             e.printStackTrace();

 }

 Cat class 
Язык кода:javascript
копировать
 public class Cat {

     private Long id;

     private String name;

     private String color;

     private String eyecolor;

     private String breed;

     public Cat() {

     public Cat(Long id, String name) {

         this .id = id;

         this .name = name;

     // Getters & Setters

     @Override

     public String toString() {

         return "Cat{" +

             "id=" + id +

             ", name='" + name +

             '\'' +

             '}' ;

 public Long getId() { return id; } id; }

 public void setId(Long id) { this .id = id; } .id = id; }

 public String getName() { return name; } name; }

 public void setName(String name) { this .name = name; } .name = name; }

 public String getColor() { return color; } color; }

 public void setColor(String color) { this .color = color; } .color = color; }

 public String getEyecolor() { return eyecolor;

 public void setEyecolor(String eyecolor) { this .eyecolor = eyecolor; } .eyecolor = eyecolor; }

 public String getBreed() { return breed; } breed; }

 public void setBreed(String breed) { this .breed = breed; } .breed = breed; }

 }

Шаг 3. Запустите useJACKSONapitoConvertJavaOBJtoJSONstring.

Язык кода:javascript
копировать
ResultingJSONstring = { "id" : 1 , "name" : "SiAm" , "color" : "Cream" , "eyecolor" : "Blue" , "breed" : "Siamese" }

использоватьcom.google.gsonНаходитьJavaЛучшие примеры фрагментов кода.

В следующем примере показано, как использовать GSON. Объект APIЯва преобразуется в строку JSON.

Шаг 1:

При использовании MAVEN для управления зависимостями (рекомендуется) вы можете включить следующие зависимости для загрузки файла JAR, и любые зависимости для GSON автоматически включаются в путь к классам проекта следующим образом:

Добавьте следующие зависимости в файл pom:

Язык кода:javascript
копировать
 <dependencies>
 <dependency>

 <groupId>com.google.code.gson</groupId>

     <artifactId>gson</artifactId>

     <version> 2.3 . 1 </version>

 </dependency>
 </dependencies>

Шаг 2:

Используйте следующую команду для вызова API GSON: Gson gson = new Gson();

В этом примере используется следующий код:

добрыйUseGSONapitoConvertJavaOBJtoJASONstring

Язык кода:javascript
копировать
 import com.google.gson.Gson;
 public class UseGSONapitoConvertJavaOBJtoJASONstring{

  public static void main(String args[]) {

   CatDetails user = new CatDetails( "SiAm" ,

             "Siamese" ,

            "siam.cat@gmail.com" ,

             9 ,

             2129991234L,

             "NewCatadonia" ,

             true );

    Gson gson = new Gson();

    String json = gson.toJson(user);

    System.out.println(json);
 }

ClassCatПодробности

Язык кода:javascript
копировать
 /**

 * Java Program to map a Java object to JSON String using GSON library.

 */
 CatDetails { class CatDetails {

  private String name;

  private String breed;

  private String email;

  private int catlives;

  private long phone;

  private String city;

  private boolean likesMice;
 
  public CatDetails(String name, String breed, String email, int catlives, long phone,

      String city, boolean likesMice) {

    super ();

    this .name = name;

    this .email = email;

    this .catlives = catlives;

    this .phone = phone;

    this .city = city;

    this .likesMice = likesMice;

    this .breed = breed;
 //getters & setters
 public String getName() {

    return name;
 }
 public void setName(String name) {

    this .name = name;
 }
 public String getBreed() {

    return breed;
 }
 public void setBreed(String breed) {

    this .breed = breed;
 }
 public String getEmail() {

    return email;
 }
 public void setEmail(String email) {

    this .email = email;
 }
 public int getCatlives() {

    return catlives;
 }
 public void setCatlives( int catlives) {

    this .catlives = catlives;
 }
 public long getPhone() {

    return phone;
 }
 public void setPhone( long phone) {

    this .phone = phone;
 }
 public String getCity() {

    return city;
 }
 public void setCity(String city) {
   
   
    this .city = city;
 }
 public boolean isLikesMice() {

    return likesMice;
 }
 public void setLikesMice( boolean likesMice) {

    this .likesMice = likesMice;
 }
 }

результат:

шаг3:Запустите UseGSONapitoConvertJavaOBJtoJASONstring.

Язык кода:javascript
копировать
{ "name" : "SiAm" , "breed" : "Siamese" , "email" : "siam.cat@gmail.com" , "catlives" : 9 , "phone" : 2129991234 , "city" : "NewCatadonia" , "likesMice" : true }

Используйте JACKSON или GSON. API,Ява Преобразовать Obj в строку JSON очень просто.

В нашем примере мы предоставляем код, позволяющий легко воспроизвести его в IDE.

Что вам нужно сделать, это:

  1. Создайте новый проект (рекомендуется Maven)
  2. Включите файл JAR в свой путь к классам, добавив зависимость к файлу pom.
  3. Создать курс
  4. Использование JACKSON API: Класс картографа ObjectMapperПередано для преобразования вJSONвозражать против звонкаwriteValueAsString(ObjToConvert)методЛибо используйте GSON API: Класс Гсон Вызовите метод toJson(ObjToConvert), передав объект, который нужно преобразовать в JSON;

Беги как Ява Obj преобразован в строку JSON.

Перевод с: https://www.javacodegeeks.com/2019/08/how-to-convert-a-java-object-into-a-json-string.html

Преобразование строки JSON в Java

Заявление об авторских правах: Содержание этой статьи добровольно предоставлено пользователями Интернета, а мнения, выраженные в этой статье, представляют собой только точку зрения автора. Этот сайт предоставляет только услуги по хранению информации, не имеет никаких прав собственности и не принимает на себя соответствующие юридические обязательства. Если вы обнаружите на этом сайте какое-либо подозрительное нарушение авторских прав/незаконный контент, отправьте электронное письмо, чтобы сообщить. После проверки этот сайт будет немедленно удален.

Издатель: Лидер стека программистов полного стека, укажите источник для перепечатки: https://javaforall.cn/192738.html Исходная ссылка: https://javaforall.cn

boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose