递归提取对象中的value
最后更新:2023-10-18 21:20:10
|
状态:未完成
以下JSON结构为例
{ key1:{ key11:{ key111:111 //提取111 value(map,key1,key11, key111) }, key12:{ key121:{ key1211:1211, key1212:1212 //提取1212 value(map,key1, key12, key121, key1212) } } } }
BeanUtil提供以下函数 / * * @param src 数据源 * @param voluntary 遇到基础类型是否停止(不取下一级) * voluntary=false时遇到提取基础类型属性值时返回null * voluntary=true时遇到提取基础类型属性值时返回当前value并return value * @param keys keys 一级key.二级key.三级key * @return Object */ public static Object extract(Object src, boolean voluntary, String ... keys); BeanUtil.extract(json,"key1","key11","key111");//提取111 //如果中途遇到基础类型,如key111的值是1111,但1111并没有key0属性 BeanUtil.extract(json,false,"key1","key11","key111","key0"); //返回null BeanUtil.extract(json,true,"key1","key11","key111","key0"); //遇到基础类型停止 直接返回1111