2.3 优化多线程支持
快速解析对象使用方法
类:快速JSON解析类 / STFastJson
取句柄() / get_handle(): 返回 节点句柄。失败返回 0。通过路径获取节点的原始句柄信息。
引用
使用句柄获取数据的效率比通过路径获取数据效率更高。句柄 实际指向数据信息存储的位置。根节点句柄必然为 1。
----------------------------------------------------------------------------
大部分参数都包含?路径(path)?和?句柄(handle)?两个参数。
如果句柄大于0则基于句柄执行路径查询。
路径访问类似JS中的访问方式:
数组访问:
对象访问:
----------------------------------------------------------------------------
解析() / parse()?: 解析JSON文本。
取对象句柄() /??get_object_handle(): 通过对象主键返回对象的下级节点句柄。
取数组句柄() / get_array_handle():??通过数组索引返回数组的下级节点句柄。
取类型() / get_type()?: 获取节点的类型。返回类型对应“#快速JSON类型_” / “#JFTYPE_” 开头的常量。注意此处的英文常量比构造和原JSON类中多了个 F,为 #JFTYPE_。
取数组成员数() / get_array_count()?: 返回数组成员数量。非数组时返回0
取对象所有主键() / get_object_keys()?: 获取对象所有下级属性节点的主键。返回主键数量,主键内容存到“主键数组”参数中
取文本() / get_string()?: 返回节点文本内容。数组返回“[Array]”,对象返回“Object”,其它对象则返回原始文本内容
取整数() / get_long()?: 返回节点内容为长整数。双精度小数/长整数/文本都将被自动转换,其它返回0
取小数() / get_double()?: 返回节点内容为双精度小数。双精度小数/长整数/文本都将被自动转换,其它返回0
取逻辑值() / get_bool()?: 返回节点内容为逻辑型。不存在或非逻辑型返回 假
是否为空() / is_null()?: 判断是否为空。不存在的节点也返回 真,存在且非null型返回 假
是否存在() / exists()?: 判断节点是否存在
????????
Json构造和本模块详细使用方法请参考上个版本的链接?。