docs: public static String escapeJson(@Nullable String string) {
          if (StringUtils.isEmpty(string)) {
              return "";
          }
  
          int len = string.length();
          StringBuilder sb = new StringBuilder(len + 2);
  
          for (int i = 0; i < len; i += 1) {
              char c = string.charAt(i);
              switch (c) {
                  case '\\':
                  case '"':
                      sb.append('\\');
                      sb.append(c);
                      break;
                  case '\b':
                      sb.append("\\b");
                      break;
                  case '\t':
                      sb.append("\\t");
                      break;
                  case '\n':
                      sb.append("\\n");
                      break;
                  case '\f':
                      sb.append("\\f");
                      break;
                  case '\r':
                      sb.append("\\r");
                      break;
                  default:
                      if (c < ' ') {
                          String t = "000" + Integer.toHexString(c);
                          sb.append("\\u").append(t.substring(t.length() - 4));
                      } else {
                          sb.append(c);
                      }
              }
          }
          return sb.toString();
      }