public static Optional<String> serialize2String(Object obj) {
        if (obj == null) {
            return Optional.of(CommonConst.EMPTY_STR);
        }
        try {
            return Optional.of(MAPPER.writeValueAsString(obj));
        } catch (JsonProcessingException ex) {
            LOGGER.warning(String.format(Locale.ENGLISH,
                    "Can not serialize class [%s] to string", obj.getClass().getName()));
        }
        return Optional.of(CommonConst.EMPTY_STR);
    }
@Test
    public void test() {
        final Object target = new Object();
        final Optional<String> serialize2String = SerializeUtils.serialize2String(target);
        Assert.assertTrue(serialize2String.isPresent());
        final Optional<String> serialize2String1 = SerializeUtils.serialize2String(null);
        Assert.assertTrue(serialize2String1.isPresent());
        Assert.assertEquals("", serialize2String1.get());
        final Optional<String> serialize2String2 =
                SerializeUtils.serialize2String(new FaultException(-1, "test", new FaultRule()));
        Assert.assertTrue(serialize2String2.isPresent());
    }