代码拉取完成,页面将自动刷新
同步操作将从 闲.大赋(李家智)/beetl-json 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
Beetl-JsonTool 作为beetl模板引擎的一个附属工具,提供了对象序列化成json技术。其原理是基于(Location:action)* 功能强大,扩展性强,而体积小,仅仅不到42K。
##Location 定义了一个序列化的位置,比如最简单的location就是属性名称,或者是属性类型,如
##Action 定义了一个匹配动作的输出,有以下几种
##例子:
//全局设定
JsonTool.addLocationAction("~d","f/yyyy.MM.dd/");
JsonTool.addLocationAction("~L/java.util.Calendar*/","$.getTime->f/yyyy-MM-dd/");
//类json格式的策略,用逗号分开多个locationAction
JsonTool.addPolicy("~f:f/#.##/,~c:?null->[]");
// 默认是紧凑输出,使用true,将换行和缩进
JsonTool.pretty = true;
//序列化User
String json = JsonTool.serialize(User);
//or 指定一个序列化策略,age,name先输出,适合有特殊需求的对象或者无法注解(第三方)对象
String json2 = JsonTool.serialize(User,"~*:O/age,name/"));
User 定义
@Json(
policys={
@JsonPolicy(location="name", action="nn/newUserName/"),
@JsonPolicy(location="deleteList", action="?empty->[]")
}
)
public class User{
String name="joel";
int age =12;
double salary=12.32266;
Customer customer = new Customer();
List<Customer> list = new ArrayList<Customer>();
List<Customer> deleteList = null;
//getter and setter 方法必须有,在此忽略
}
Customer定义
@Json(
policys={
@JsonPolicy(location="name", action="nn/userName/")
}
)
class Customer{
String name="lijz";
int age=11;
Date bir = new Date();
//getter and setter 方法必须有,在此忽略
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。