FinanceJson
FinanceJson, 对Json的包装.底层使用jackson实现。
1. 生成节点
(1)在某个路径下添加某个节点
FinanceJson financeJsonInfo = new FinanceJson();
FinanceJsonUtil.addNode(financeJsonInfo, "terminal.uid", new StringNode("dasd"));
FinanceJsonUtil.addNode(financeJsonInfo, "terminal.gid", new StringNode("g213"));
FinanceJsonUtil.addNode(financeJsonInfo, "terminal.pid", new StringNode("p213"));
System.out.println(financeJsonInfo.toString());
输出:
{
"terminal" : {
"uid" : "dasd",
"gid" : "g213",
"pid" : "p213"
}
}
(2) 添加某个实体类作为节点
<1> 不指定路径, 路径为 "类名.属性名", 类名首字母小写。 可嵌套递归
FinanceJson financeJsonInfo = new FinanceJson();
Cow cow = new Cow();
cow.setCowName("coco");
cow.setCowWWW("cowww");
FinanceJsonUtil.addNodeByPojo(financeJsonInfo, cow);
System.out.println(financeJsonInfo.toString()); class Cow{
private String cowName;
private String cowWWW;
setter..getter..略
}
输出:
{
"cow" : {
"cowName" : "coco",
"cowWWW" : "cowww"
}
}
<2> 指定路径, "指定路径.类属性名"
FinanceJson financeJsonInfo = new FinanceJson();
Cow cow = new Cow();
cow.setCowName("coco");
cow.setCowWWW("cowww");
FinanceJsonUtil.addNodeByPojo(financeJsonInfo, "terminal.cow", cow);
System.out.println(financeJsonInfo.toString());
输出:
{
"terminal" : {
"cow" : {
"cowName" : "coco",
"cowWWW" : "cowww"
}
}
}
2. 获取节点
初始化数据:
FinanceJson financeJson = new FinanceJson();
FinanceJsonUtil.addNode(financeJson, "terminal.uid", new StringNode("dasd"));
FinanceJsonUtil.addNode(financeJson, "terminal.gid", new StringNode("g213"));
FinanceJsonUtil.addNode(financeJson, "terminal.pid", new StringNode("p213"));
Cow cow = new Cow();
cow.setCowName("coco");
cow.setCowWWW("cowww");
FinanceJsonUtil.addNodeByPojo(financeJson, cow);
System.out.println(financeJson.toString()); 数据格式:
{
"terminal" : {
"uid" : "dasd",
"gid" : "g213",
"pid" : "p213"
},
"cow" : {
"cowName" : "coco",
"cowWWW" : "cowww"
}
}
获取节点和属性:
// 获取节点
ValueNode terminalNode = financeJson.getProperty("terminal");
System.out.println("节点json:\n" + terminalNode.toJson());
//获取某个属性
String uid = terminalNode.firstChild("uid").toString();
System.out.println("uid属性值:" + uid);
//按照路径获取某个属性
String gid = financeJson.getProperty("terminal.gid").toString();
System.out.println("gid属性值:" + gid);
输出:
节点json:
{
"uid" : "dasd",
"gid" : "g213",
"pid" : "p213"
}
uid属性值:dasd
gid属性值:g213
3. 注意的地方
(1) 可以作为RPC调用参数
(2) 不可以用于qmq传输
FinanceJson的更多相关文章
随机推荐
- IIS负载均衡的NLB解决方案
在现行的许多网络应用中,有时一台服务器往往不能满足客户端的要求,此时只能通过增加服务器来解决问题.那么,有没有一个办法或者技术来解决此类问题呢?使用Windows 2000或Windows Serve ...
- adaboost原理和实现
上两篇说了决策树到集成学习的大概,这节我们通过adaboost来具体了解一下集成学习的简单做法. 集成学习有bagging和boosting两种不同的思路,bagging的代表是随机森林,boosti ...
- mysql模拟rownum的一个方法
mysql> select * from t2; +----+---------------------+ | id | d | +----+---------------------+ :: ...
- SecureCRT连接linux设置vim显示颜色
只需要两个步骤: 1) 选项 --> 会话选项 --> 终端 --> 仿真 --> 勾选“ANSI 颜色”. 2) 在.bashrc中添加:export TERM=xter ...
- [Bootstrap]7天深入Bootstrap(4)CSS组件
Bootstrap框架的三大核心之二:组件. 组件也是最核心的地方,因为绝大部分的网页都必须利用组件才能构建出绚丽的页面. 组件包括:Icon图标(Glyphicon). 下拉菜单(Dropdown) ...
- Sprint总结和第八九十的读书笔记
总结:经过这次的Sprint,我在从中收获了很多.作为产品负责人的我,主要责任就是合理分配任务给自己的队友,调动队友的积极性.虽然这其中也有些不尽人意的地方,但是我们都坚持的走了过来,团队合作真的很重 ...
- 【Win10】【Win2D】实现控件阴影效果
学过 WPF 的都知道,在 WPF 中,为控件添加一个阴影效果是相当容易的. <Border Width="100" Height="100" Backg ...
- MIME(Multipurpose Internet Mail Extensions)的简介
多用途互联网邮件扩展类型(MIME) 作用:用于标识Web资源类型(Multipurpose Internet Mail Extensions,MIME) 效果:Web上MIME为每种类型的资源提供一 ...
- 【C#进阶系列】07 常量和字段
常量 常量总是被视为静态成员. 常量其实可以不限于基元类型,但是必须初始化为null.(我觉得这个点知道和不知道都一样,我已经自动从脑海中忽略了.很多时候在我这个人眼中,艰涩的代码和垃圾代码,其实没有 ...
- PhpWind 8.7中禁止后台管理员随意修改会员用户名功能
有人反映PHPWind 8.7中后台可以直接修改用户名的功能太过随意,干脆禁掉. OK,研究一下他的代码,admin/usermange.php tempalate/admin/usermange. ...