Техническое обсуждение QQ группа 592835013 (поддержка личного пространства)
Сверхлёгкий инструмент Json4Bean (менее 30 КБ), исходный код не зависит от сторонних jar-пакетов, расширяемый.
Особенности:
Методы и функции:
Координата 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);
}
}
Результат генерации:
/*
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, который был переведён на русский язык. ### Функции
Разработчики Java, которые часто занимаются согласованием API-интерфейсов, поскольку поставщик интерфейса не предоставляет SDK-пакет. Им часто приходится создавать объекты JavaBean на основе примеров JSON для запросов и ответов. Эту рутинную работу можно легко выполнить с помощью json4bean. ^ _ ^
Другие люди, которым необходимо создать объекты JavaBean на основе JSON без чёткого понимания процесса. ^ _ ^
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )