snack - Json Dom 应用
1、Json Dom 应用参考
参考1
ONode oNode = new ONode();
oNode.set("id", 1);
oNode.getOrNew("layout").then(o -> {
o.addNew().set("title", "开始").set("type", "start");
o.addNew().set("title", "结束").set("type", "end");
});
oNode.get("id").getInt();
oNode.get("layout").get(0).get("title").getString();
oNode.getOrNew("list").fillJson("[1,2,3,4,5,6]");
参考2
//构建推送消息
ONode data = new ONode();
data.set("platform","val");
data.getOrNew("audience").getOrNew("alias").addAll(alias_ary);
data.getOrNew("options").set("apns_production", false);
String message = data.toJson();
//或者....用链式表达式单行构建
public static void push(Collection<String> alias_ary, String text) {
ONode data = new ONode().then((d)->{
d.set("platform", "all");
d.getOrNew("audience").getOrNew("alias").addAll(alias_ary);
d.getOrNew("options")
.set("apns_production",false);
d.getOrNew("notification").then(n->{
n.getOrNew("ios")
.set("alert",text)
.set("badge",0)
.set("sound","happy");
});
});
String message = data.toJson();
String author = Base64Util.encode(appKey+":"+masterSecret);
Map<String,String> headers = new HashMap<>();
headers.put("Content-Type","application/json");
headers.put("Authorization","Basic "+author);
HttpUtil.postString(apiUrl, message, headers);
}