Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Jersey JSON从驼峰大小写切换为下划线(蛇形大小写)_Java_Json_Jackson_Jersey 2.0_Camelcasing - Fatal编程技术网

Java Jersey JSON从驼峰大小写切换为下划线(蛇形大小写)

Java Jersey JSON从驼峰大小写切换为下划线(蛇形大小写),java,json,jackson,jersey-2.0,camelcasing,Java,Json,Jackson,Jersey 2.0,Camelcasing,我最近换了新泽西2号,。 我浏览了文档/网络,了解了如何使用.readEntity(ClassName.class)将响应类转换为自定义类 但我一直坚持使用带有下划线的CAMEL\u CASE\u TO\u LOWER\u CASE\u命名策略 当前转换失败,因为响应字段带有“\ujo”,并且我的POJO有蛇形结构 任何帮助都将不胜感激 在运动衫1中,我一直在这样做: MyResponse myResponse = client .resource(url)

我最近换了新泽西2号,。 我浏览了文档/网络,了解了如何使用
.readEntity(ClassName.class)将响应类转换为自定义类

但我一直坚持使用带有下划线的
CAMEL\u CASE\u TO\u LOWER\u CASE\u
命名策略

当前转换失败,因为响应字段带有“\ujo”,并且我的POJO有蛇形结构

任何帮助都将不胜感激

在运动衫1中,我一直在这样做:

MyResponse myResponse = client  
        .resource(url)
        .type(MediaType.APPLICATION_JSON)
        .accept(MediaType.APPLICATION_JSON)
        .post(RequestClass.class, request);
同样,我无法实现后泽西2: 如上面代码中所示,当I时,它给出编译时错误:

我还尝试:

MyResponse myResponse = client
        .target(getUrl())
        .request()
        .post(Entity.entity(request, MediaType.APPLICATION_JSON))
        .readEntity(MyResponse.class);

但是它没有创建
myResponse
对象,因为我得到的响应有Snake\u case response,但是我的POJO有camel case字段

这是需要使用Jackson
ObjectMapper
配置的东西。你可以在短时间内完成。基本上,你需要像

@Provider
public class MapperProvider implements ContextResolver<ObjectMapper> {
    final ObjectMapper mapper;

    public MapperProvider() {
        mapper = new ObjectMapper();
        mapper.setPropertyNamingStrategy(
                PropertyNamingStrategy.CAMEL_CASE_TO_LOWER_CASE_WITH_UNDERSCORES);
    }

    @Override
    public ObjectMapper getContext(Class<?> cls) {
        return mapper;
    }
}

如果您在服务器上也需要此支持,那么您也需要在服务器上注册此支持。

请展示此解决方案。谢谢:)由于声誉低下,无法对答案进行投票:(
client.register(MapperProvider.class);