public static Object getInjectValue(String string, boolean decrypt) {
        Matcher m = pattern.matcher(string);
        StringBuffer sb = new StringBuffer();
        // Parse the content inside pattern "${}" when this pattern is found
        while (m.find()) {
            // Get parsing result
            Object value = getValue(m.group(1), decrypt);
            // Return directly when the parsing result don't need to be cast to String
            if (!(value instanceof String)) {
                return value;
            }
            String valueStr = (String)value;
            if(valueStr.contains("\\$")) {
                m.appendReplacement(sb, (String)value);
            } else {
                m.appendReplacement(sb, Matcher.quoteReplacement((String)value));
            }
        }
        return m.appendTail(sb).toString();
    }
@Test
    @Ignore
    public void testStringifiesJson() {
        String value = "users: [{\"username\":\"ML\\PAYOUT\"}]";
        String template = "users: ${basic.users:}";
        Object actual = ConfigInjection.getInjectValue(template, false);
        assertEquals(value, actual);
    }