Beispiel #1
0
  /**
   * 解析 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;
  }
Beispiel #2
0
 /** 获取方法链的值 */
 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;
 }