Skip to content

noear/Snacks

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

74 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Snacks for .net/mono/java/android(java)/ios(swift 3.0)/uwp(c#)

轻量级数据DOM,可与XML/JSON相互转换

//反向:::::::::::::::::
//object
ONode n = ONode.tryLoad("{name:'noear',sex:1}");
int sex = n.get("sex").getInt();
String name = n.get("name").getString();

//array
ONode n = ONode.tryLoad("[{id:1,url:'http://xxx.xxx.xx'},{id:2,url:'http://ccc.ccc.ccc'}]");
foreach(ONode n1 in n){
   var id = n1.get("id").getLong();
   String url = n1.get("url").getString();
}

//反向:::::::::::::::::(如果有unicode需要转码)
//object
ONode n = ONode.tryLoad("{name:'noear',sex:1}").unescape(true);




//正向:::::::::::::::::
//object
ONode n = new ONode();
n.set("name","noear").set("sex",1);
String json = n.toJson(); //or n.toXml(); //或者根据自己情况,增加新的转换

//array
ONode n = new ONode().asArray();
for(int i=0;i<2; i++){
   ONode n1 = n.add();
   n1.set("id",i)
     .set("url","http://xxx.xx.xx/p/"+i);
}
String json = n.toJson();//or n.toXml();

一个推送接口的使用示例:

public static void push(Collection<String> alias_ary, String text)  {
    ONode data = new ONode().exp((d)->{
        d.get("platform").val("all");

        d.get("audience").get("alias").addAll(alias_ary);

        d.get("options")
                .set("apns_production",false);

        d.get("notification").exp(n->{
            n.get("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);
}

About

noear::跨平台的轻量级通用数据DOM

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published