不知道为什么,妈的,本地测试没有问题,转换后是包含所有属性的json字符串,没有类名。部署上去有概率出现,出现的原因未知,后面有时间再看。问题原因已找到,在下方。

代码:
public static String beanToJson(Object src) {
    try {
        return objectMapper.writeValueAsString(src);
    } catch (JsonProcessingException jpe) {
        throw new RuntimeException("JacksonUtils beanToJson JsonProcessingException!",jpe);
    }
}
预期结果:
{
    "123": "123"
}
概率出现的错误结果
{
    "xxxReq":
    {
     	"123": "123"
    }
}

解决方法:

public static String beanToJsonWithDisableRoot(Object src) {
    try {
        objectMapper.disable(SerializationFeature.WRAP_ROOT_VALUE);
        return objectMapper.writeValueAsString(src);
    } catch (JsonProcessingException jpe) {
        throw new RuntimeException("JacksonUtils beanToJson JsonProcessingException!",jpe);
    }
}

问题原因:
objectMapper是一个静态对象:
private static ObjectMapper objectMapper = new ObjectMapper();

在其他方法里有对该对象进行修改,比如:
objectMapper.enable(SerializationFeature.WRAP_ROOT_VALUE);
导致静态对象被修改。。。