private void initJsonArrayList()

in src/main/java/com/aliyun/ha3engine/jdbc/Ha3ResultSet.java [75:116]


    private void initJsonArrayList(String result) {
        if (jsonArrayList == null) {
            try {
                jsonArrayList = new ArrayList<>();

                JsonObject jsonObject = JsonUtils.fromJson(result, JsonObject.class);

                JsonArray colums = jsonObject.getAsJsonArray("columns");
                if (null != colums) {
                    for (int i = 0; i < colums.size(); i++) {
                        JsonObject col = colums.get(i).getAsJsonObject();
                        keyList.add(col.get("name").getAsString());
                        typeList.add(col.get("type").getAsString());
                    }
                }

                JsonArray rows = jsonObject.getAsJsonArray("rows");
                if (null != rows) {
                    for (int i = 0, size = rows.size(); i < size; i++) {
                        JsonArray row = rows.get(i).getAsJsonArray();

                        jsonArrayList.add(row);
                    }
                }

                //填充错误信息
                JsonObject error = jsonObject.getAsJsonObject("error");
                if (null != error) {
                    errorInfo = new ErrorInfo(error.get("errorCode").getAsLong(), error.get("message").getAsString(),
                        error.get("error").getAsString());
                }

            } catch (Exception e) {
                wasNull = true;
                errorInfo = new ErrorInfo(500,
                    "initJsonArrayList exception", "detail error" + e.getMessage());
            }
        } else {
            errorInfo = new ErrorInfo(404, "ha3 result is null",
                "jdbc inner initJsonArrayList jsonArrayList is null");
        }
    }