0.0.9.0 2019-04-12 calvin 0.0.8.0 2019-04-11 calvin 0.0.7.0 2019-02-28 calvin 0.0.6.0 2019-02-28 calvin 0.0.5.0 2019-02-27 calvin 0.0.1.0 2019-02-23 calvin -------------------------------------------------------------------------- 1. 概述okjson是用JAVA编写的JSON处理器(JSON解析器+JSON生成器)。 它能帮助开发者把一段JSON文本中的数据映射到实体类中,或由一个实体类生成一段JSON文本。 它小巧,源码只有一个类文件和一个注解类文件,方便架构师嵌入到项目/框架中去。 它高效,比号称全世界最快的fastjson还要快。 它灵活,不对映射实体类有各种各样约束要求。 一个好工具就是简单、朴素的。 2. 一个示例来一个简单示例感受一下(所有代码可在源码包 2.1. 编写JSON文件demo.json {
"userName" : "Calvin" ,
"email" : "calvinwilliams@163.com" ,
"userExtInfo" : {
"gender" : "M" ,
"age" : 30 ,
"address" : "I won't tell you"
} ,
"interestGroupList" : [
"Programing", "Playing game", "Reading", "Sleeping"
] ,
"borrowDetailList" : [
{
"bookName" : "Thinking in JAVA" ,
"author" : "Bruce Eckel" ,
"borrowDate" : "2014-01-02" ,
"borrowTime" : "17:30:00"
} ,
{
"bookName" : "Thinking in C++" ,
"author" : "Bruce Eckel too" ,
"borrowDate" : "2014-02-04" ,
"borrowTime" : "17:35:00"
} ,
{
"bookName" : "Thinking in okjson" ,
"author" : "It's me !!!" ,
"borrowDate" : "2014-03-06" ,
"borrowTime" : "17:40:00"
}
]
}
2.2. 编写实体类DemoUserClass.java package xyz.calvinwilliams.okjson;
import java.time.LocalDate;
import java.time.LocalTime;
import java.util.LinkedList;
public class DemoUserClass {
String userName ;
String email ;
UserExtInfo userExtInfo ;
LinkedList<String> interestGroupList ;
LinkedList<BorrowDetail> borrowDetailList ;
}
class UserExtInfo {
String gender ;
int age ;
String address ;
}
class BorrowDetail {
String bookName ;
String author ;
@OkJsonDateTimeFormatter(format="yyyy-MM-dd")
LocalDate borrowDate ;
@OkJsonDateTimeFormatter(format="HH |