1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/angryid-json4bean

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Техническое обсуждение QQ группа 592835013 (поддержка личного пространства)

Сверхлёгкий инструмент Json4Bean (менее 30 КБ), исходный код не зависит от сторонних jar-пакетов, расширяемый.

Особенности:

  • Сверхлёгкий инструмент Json4Bean (менее 30 КБ).
  • Исходный код не зависит от сторонних jar-пакетов.

Методы и функции:

  • Метод JSON.writeBean (генерация без присвоения значений) — на основе входных параметров json генерирует сущности JavaBean. Поддерживает пользовательские настройки для генерации пакета имён JavaBean, режима JavaBean (вложенные внутренние классы или внешние классы) и шаблона комментариев JavaBean.
  • Метод JSON.parseObject (присвоение без генерации) — преобразует строку Json в объект JavaBean.
  • Метод JSON.toJsonString — преобразует объект JavaBean в строку.

Координата Maven:

<dependency>
    <groupId>com.javaear</groupId>
    <artifactId>json4bean</artifactId>
    <version>0.2.0</version>
</dependency>

Демонстрация DEMO:

Пример кода:
package com.javaear.json4bean;

import com.javaear.test.Student;

import java.io.File;

public class Json4BeanTest {

    /* Тестовые данные json */
    static String data = "[{\n" +
            "  \"id\": 123,\n" +
            "  \"name\": \"Чжан Сань\",\n" +
            "  \"firend\": {\n" +
            "    \"fid\": \"f123\",\n" +
            "    \"fname\": \"Ли Сы\"\n" +
            "  },\n" +
            "  \"subjects\": [\n" +
            "    {\n" +
            "      \"sid\": \"o123\",\n" +
            "      \"sname\": \"Ван У\"\n" +
            "    },\n" +
            "    {\n" +
            "      \"sid\": \"o124\",\n" +
            "      \n  \"sname\": \"Ма Лю\"\n" +
            "    }\n" +
            "}]";

    public static void main(String[] args) {
        //JSON.setWriteMultiBean(true); // Удалите этот комментарий, чтобы создать JavaBean для нескольких объектов, а не внутренних классов.
        // По умолчанию создаются внутренние классы JavaBean, но вы можете выбрать форму без внутренних классов, удалив комментарий выше.
        writeBeanSimpleTest();
        writeBeanWithPackageNameTest();
        writeBeanWithPackageNameAndCodeTemplateTest();
        parseObjectTest();
        toJsonStringTest();
    }

    /**
     * Простой тест генерации
     */
    public static void writeBeanSimpleTest(){
        JSON.writeBean(data, "Student");
    }

    /**
     * Тест генерации с указанием имени пакета
     */
    public static void writeBeanWithPackageNameTest(){
        JSON.writeBean(data, "Student", "com.javaear.test");
    }

    /**
     * Тест генерации с указанием имени пакета, комментариями шаблона и генерацией
     */
    public static void writeBeanWithPackageNameAndCodeTemplateTest(){
        JSON.setCodeTemplate(System.getProperty("user.dir") + File.separator + "json4bean/src/test/resources/code-template.txt");
        JSON.writeBean(data, "Student", "com.javaear.test", System.getProperty("user.dir") + File.separator + "json4bean/src/test/java/" + "com/javaear/test");
    }

    /**
     * Разбор строки json в bean-компонент
     */
    public static void parseObjectTest(){
        Student student = JSON.parseObject(data, Student.class);
        System.out.println(
                "id равен: "+student.getId()+
                "имя равно: "+student.getName()+
                "friend name равно: "+student.getFirend().getFname()+
                "subject 2 sname равно: "+student.getSubjects().get(1).getSname());
    }

    /**
     * Преобразование bean в Json
     */
    public static void toJsonStringTest(){
        // Вызов метода parse для присвоения значения объекту
        Student student = JSON.parseObject(data, Student.class);
        // Преобразование bean в строку
        String str = JSON.toJsonString(student);
        System.out.println(str);
    }
}

Результат генерации:

/*

  • Copyright 2016-2016 Javaear Group Holding Ltd. */ package com.javaear.test;

import java.util.List;

/**

  • @author aooer */ public class Student { private Long id; private String name; private Firend firend; private List subjects;

    public static class Firend { private String fid; private String fname;

     /**
      * @return fid
      */
     public String getFid() {
         return this.fid;
     }
    
     /**
      * @param fid fid
      */
     public void setFid(String fid) {
         this.fid = fid;
     }
    
     /**
      * @return fname
      */
     public String getFname() {
         return this.fname;
     }
    
     /**
      * @param fname fname
      */
     public void setFname(String fname) {
         this.fname = fname;
     }

    }

    public static class Subjects { private String sid; private String sname;

     /**
      * @return sid
      */
     public

...

В тексте запроса есть код на языке Java, который был переведён на русский язык. ### Функции

  • — поддерживается;
  • × — не поддерживается.
  1. Генерировать объект JavaBean на основе строки JSON .
  2. В соответствии с потребностями бизнеса в будущем будет предоставлена поддержка для создания трёх видов объектов JavaBean:
    • DTO (Data Transfer Object) — объект передачи данных, который часто используется при согласовании API-интерфейсов и не требует жёстких требований к форматированию кода ;
    • Model — модель данных, которая обеспечивает удобный для разработчиков Java порядок полей ;
    • DO (Domain Object) — объект уровня сохраняемости базы данных .
  3. Поддержка шаблонов кода, таких как пользовательские комментарии для getter и setter, а также комментарии к классам .
  4. Генерировать объекты JavaBean из массива JSON .
  5. Проверять наличие пустых значений в случае, если значение JSON равно null .
  6. Создавать несколько независимых объектов JavaBean из вложенных объектов в строке JSON .
  7. Поддерживается копирование существующего объекта JavaBean при преобразовании строки JSON в объект JavaBean .
  8. Поддерживается преобразование объекта JavaBean в строку JSON .

Целевая аудитория

  1. Разработчики Java, которые часто занимаются согласованием API-интерфейсов, поскольку поставщик интерфейса не предоставляет SDK-пакет. Им часто приходится создавать объекты JavaBean на основе примеров JSON для запросов и ответов. Эту рутинную работу можно легко выполнить с помощью json4bean. ^ _ ^

  2. Другие люди, которым необходимо создать объекты JavaBean на основе JSON без чёткого понимания процесса. ^ _ ^

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Сверхлёгкий пакет инструментов Json4Bean (менее 30 КБ), созданный для отладки API-интерфейсов, исходный код не зависит от каких-либо сторонних jar-пакетов. Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/angryid-json4bean.git
git@api.gitlife.ru:oschina-mirror/angryid-json4bean.git
oschina-mirror
angryid-json4bean
angryid-json4bean
master