jfire-codejson - JSON 框架
GPL
跨平台
Java
软件简介
jfire-codejson 是最快最自由的json框架,性能超越
fastjson 1 倍。支持策略能力。
已发布到maven中央仓库。link.jfire.codejson
性能强劲 codejson是迄今为止最为强大的json框架,序列化速度超越fastjson 50%,超越Jackson2
40%。反序列化性能超越Fastjson几倍。 自由定制输出
codejson除了可以完成常规的对属性的忽略和改名以为。依靠强大的策略能力,可以对序列化的输出做出任意的修改。可以对同一个对象,使用不同的策略
进行不同的输出。充分满足不同场景的使用要求。策略能力可以进行属性改名,属性忽略,对输出内容格式化,对某一种格式进行各耍等等,只要能想得出来,策略
能力都可以做到。 极致简单的API
对于序列化来说,只需要使用类似JsonTool.write(entity)
一行静态代码即可得到json字符串。
对于反序列化来说,只需要使用类似JsonTool.read(User.class,str)
一行静态代码即可将json字符串反序列化为pojo对象
快速入门
假设存在以下几个类
public class Person{
private String name;
private int age;
private boolean boy;}public class Home{
privaet String name;
private Person host;
private float height;
private float weidth;}public static void main(String args[]){
Home home = new Home();
home.setPerson(new Person());
//这样就完成了将home转换为json字符串的动作
String json = JsonTool.write(home);
//这样就完成了将json字符串转换为json对象的动作
JsonObject jsonObject =(JsonObject)jsonTool.fromString(json);
//这样就完成了将json字符串转换为java对象的动作
Home result = JsonTool.read(Home.class,json);
WriteStrategy strategy = new WriteStrategy();
//指定一个输出策略,将name这个属性名在输出的时候替换成hello
strategy.addRenameField("Home.name", "hello");
json = strategy.write(home);
strategy = new WriteStrategy();
//指定一个输出策略,将float输出的时候截止到小数点1位
strategy.addWriter(float.class,new WriterAdapter(){
public void write(float target,StringCache cache){
DecimalFormat format = new DecimalFormat("##.00");
cache.append(format.format(target));
}
});
json = strategy.write(home);}