jfire-codejson JSON 框架 项目简介
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);}
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);}