package shop.alien.util.common;

public class StringToJsonConverterUtils {

    public static String convertToJson(String input) {
        // 移除外层大括号并清理空格
        String cleaned = input.trim().replaceAll("^\\{|}$", "").trim();
        String[] pairs = cleaned.split(",\\s*");
        StringBuilder jsonBuilder = new StringBuilder("{");
        for (int i = 0; i < pairs.length; i++) {
            String pair = pairs[i];
            int eqIndex = pair.indexOf('=');
            if (eqIndex == -1) continue; // 跳过无效格式

            String key = pair.substring(0, eqIndex).trim();
            String value = pair.substring(eqIndex + 1).trim();

            jsonBuilder.append("\"").append(key).append("\":");

            if (value.equalsIgnoreCase("true") || value.equalsIgnoreCase("false")) {
                jsonBuilder.append(value.toLowerCase());  // 布尔值
            } else if (value.matches("-?\\d+(\\.\\d+)?")) {
                jsonBuilder.append(value);                // 数字
            } else {
                // 转义特殊字符并添加引号
                String escaped = value.replace("\\", "\\\\").replace("\"", "\\\"");
                jsonBuilder.append("\"").append(escaped).append("\"");
            }

            if (i < pairs.length - 1) jsonBuilder.append(",");
        }
        jsonBuilder.append("}");
        return jsonBuilder.toString();
    }

}