/** * 解析 js 方法中的 json 数据 * * @param value * @return */ public JsonObject parser_json(String value) { JsonObject json_object = null; if (ToolGlobal.is_empty(value) || value.equals("[]") || value.equals("timeout")) { logger.warn("待解析json数据为空"); return null; } int start = value.indexOf("{"); int end = value.lastIndexOf("}"); if (start > -1 && end > -1) { try { json_object = jsonparser.parse(value.substring(start, end + 1)).getAsJsonObject(); } catch (Exception e) { logger.warn("字符串转json失败", e); } } return json_object; }
/** 获取方法链的值 */ public String value_with_error( String attrbute, JsonObject json, String aql, String defaule_result) { logger.debug("#获取 json 节点 safety ".concat(aql)); JsonObject json_object = json; StringTokenizer token = new StringTokenizer(aql, AQL_SEPARATOR); Object tmp_result = null; try { while (token.hasMoreElements()) { String args_string = (String) token.nextElement(); if (token.hasMoreElements()) { json_object = get_jsonobject_byjsonobject(json_object, args_string); } else { tmp_result = json_object.get(args_string).getAsString(); } } } catch (Exception e) { logger.warn("解析 json 节点".concat(attrbute).concat("错误:").concat(aql), e); } defaule_result = (tmp_result == null) ? defaule_result : ToolGlobal.trim(tmp_result.toString()).replaceAll("\"", ""); return defaule_result; }