设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客
LUPA开源社区 首页 业界资讯 软件追踪 查看内容

okjson更新至v0.0.9.0,小巧、高效、灵活的JSON处理器

2019-4-18 22:45| 发布者: joejoe0332| 查看: 359| 评论: 0|原作者: oschina|来自: oschina

摘要: 0.0.9.0 2019-04-12 calvin * 静态类OKJSON新增方法objectToFile和fileToObject * 新增Demo.java * JSON数组简单类型新增支持日期、时间 * 编写README.md * 编写README.zh-CN.md 0.0.8.0 2019-04- ...

0.0.9.0        2019-04-12        calvin
            * 静态类OKJSON新增方法objectToFile和fileToObject
            * 新增Demo.java
            * JSON数组简单类型新增支持日期、时间
            * 编写README.md
            * 编写README.zh-CN.md

0.0.8.0        2019-04-11        calvin
            * 支持日期、时间属性的序列化/反序列化
            * 增加注解OkJsonDateTimeFormatter用于格式化日期、时间属性
            * 修正了转义符序列化/反序列化的BUG

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.4.0        2019-02-26        calvin
            * 增加反序列化对象属性和方法的缓存
            
0.0.3.0        2019-02-25        calvin
            * 增加反序列化值数组
            
0.0.2.0        2019-02-24        calvin
            * 增加可选的使用设置器设置属性值

0.0.1.0        2019-02-23        calvin
            * 创建
            * 增加反序列化任意层次的属性
 

--------------------------------------------------------------------------

1. 概述

okjson是用JAVA编写的JSON处理器(JSON解析器+JSON生成器)。

它能帮助开发者把一段JSON文本中的数据映射到实体类中,或由一个实体类生成一段JSON文本。

它小巧,源码只有一个类文件和一个注解类文件,方便架构师嵌入到项目/框架中去。

它高效,比号称全世界最快的fastjson还要快。

它灵活,不对映射实体类有各种各样约束要求。

一个好工具就是简单、朴素的。

2. 一个示例

来一个简单示例感受一下(所有代码可在源码包src\test\java\xyz\calvinwilliams\okjson里找到)

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

酷毙

雷人

鲜花

鸡蛋

漂亮
  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部