Solon v3.6.0

snack - 主要接口参考

</> markdown
//初始化操作
//
-asObject() -> self:ONode  //将当前节点切换为对象
-asArray()  -> self:ONode  //将当前节点切换为数组

//检测操作
//
-isUndefined()   -> bool  //检查当前节点是否未定义
-isNull()        -> bool  //检查当前节点是否为null
-isNullOrEmpty() ->bool

-isObject()    -> bool  //检查当前节点是否为对象
-isArray()     -> bool  //检查当前节点是否为数组

-isValue()     -> bool  //检查当前节点是否为值
-isBoolean()   -> bool
-isNumber()    -> bool
-isString()    -> bool
-isDate()      -> bool

//公共
//
-options(opts:Options) -> self:ONode    //切换选项
-options() -> Options 				    //获取选项

-then(n->..) -> self:ONode     	//节点构建表达式

-select(jsonpath:String) -> new:ONode 	 //使用JsonPath表达式选择节点(默认缓存路径编译)
-exists(jsonpath:String) -> bool //使用JsonPath表达式查检节点是否存在(默认缓存路径编译)
-create(jsonpath:String) -> new:ONode
-delete(jsonpath:String) -> void

-usePaths()     -> self:ONode   //使用路径(把当前作为根级,深度生成每个子节点的路径)。一般只在根级生成一次 
-path()         -> String           //获取路径属性(可能为 null;比如临时集合,或者未生成)
-pathList()     -> List<String> //获取节点路径列表(如果是临时集合,会提取多个路径)
-parent()       -> ONode
-parents(depth) -> ONode

-clear()         -> void    //清除子节点,对象或数组有效
-size()          -> int     //子节点数量,对象或数组有效

//值操作
//
-isValue()     -> bool  //检查当前节点是否为值
-setValoue(val:Object) -> self:ONode  //设置节点值 //val:为常规类型或ONode
-getValue()            -> Object                //获取节点值数据结构体(如果不是值类型,会自动转换)
-getValueAs()          -> T

-getString()    //获取值并以string输出 //如果节点为对象或数组,则输出json
-getBoolean()
-getDate()
-getShort()     //获取值并以short输出...(以下同...)
-getInt()
-getLong()
-getFloat()
-getDouble()

//对象操作
//
-isObject()    -> bool  //检查当前节点是否为对象
-getObject() -> Map<String,ONode>                     //获取节点对象数据结构体(如果不是对象类型,会自动转换)
-hasKey(key:String) -> bool                   //是否存在对象子节点?
-rename(key:String,newKey:String) -> self:ONode //重命名子节点并返回自己

-get(key:String) -> child:ONode                 //获取对象子节点(不存在,返回空节点)***
-getOrNew(key:String) -> child:ONode                        //获取对象子节点(不存在,生成新的子节点并返回)
-getOrNull(key:String) -> child:ONode           //获取对象子节点(不存在,返回null)

-set(key:String,val:Object) -> self:ONode           //设置对象的子节点(会自动处理类型)
-setAll(map:Map<String,T>) ->self:ONode             //设置对象的子节点,将map的成员搬过来
-remove(key:String)                   //移除对象的子节点

//数组操作
//
-isArray()     -> bool  //检查当前节点是否为数组
-getArray() -> List<ONode>                   //获取节点数组数据结构体(如果不是数组,会自动转换)
-get(index:int)  -> child:ONode                 //获取数组子节点(不存在,返回空节点)
-getOrNew(index:int)  -> child:ONode                       //获取数组子节点(不存在,生成新的子节点并返回)
-getOrNull(index:int)  -> child:ONode           //获取数组子节点(不存在,返回null)

-addNew() -> child:ONode                        //生成新的数组子节点
-add(val) -> self:ONode                         //添加数组子节点 //val:为常规类型或ONode
-addAll(ary:Collection<T>) -> self:ONode                //添加数组子节点,将ary的成员点搬过来
-remove(index:int)                 //移除数组的子节点

//转换操作
//
-toString()   -> String               //转为string (由字符串转换器决定,默认为json)
-toJson()     -> String                 //转为json string
-toBean()     -> Object 			    //转为数据结构体(Map,List,Value)
-toBean(type) -> T        //转为java object(clz=Object.class:自动输出类型)


//填充操作
-fill(source:Object)       -> self:ONode  //填充 bean 到当前节点
-fillJson(source:String)   -> self:ONode //填充 json 到当前节点

/**
 * 以下为静态操作
**/

//加载 bean
//
+ofBean(source:Object, Feature... features) -> new:ONode
+ofBean(source:Object, opts:Options) -> new:ONode

//加载 json
//
+ofJson(source:String, Feature... features) -> new:ONode	
+ofJson(source:String, opts:Options) -> new:ONode

//序列化操作
//
+serialize(source:Object, Feature... features) -> String                   //序列化
+serialize(source:Object, opts:Options) -> String                          //序列化

+deserialize(source:String, Feature... features) -> Object                 //反序列化
+deserialize(source:String, opts:Options) -> Object                        //反序列化

+deserialize(source:String, type:Type, Feature... features) -> T  //反序列化
+deserialize(source:String, type:Type, opts:Options) -> T         //反序列化

+deserialize(source:String, type:TypeRef, Feature... features) -> T  //反序列化
+deserialize(source:String, type:TypeRef, opts:Options) -> T         //反序列化