Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.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
无POJO的Java Jackson JSON_Java_Json_Jackson_Dropwizard - Fatal编程技术网

无POJO的Java Jackson JSON

无POJO的Java Jackson JSON,java,json,jackson,dropwizard,Java,Json,Jackson,Dropwizard,我目前正在将一个节点项目转换为DW。节点项目当前将来自客户端的JSON存储为字符串,然后在客户端获得相同资源时返回application/JSON。这基本上是一个键/值存储重置端点 我想用dropwizard实现同样的功能,但我不想在POJO中映射出整个结构及其嵌套结构。有没有办法做到这一点?我只想用键将JSON保存为数据库中的字符串,我根本不想在java应用程序中处理数据 既然API要求我返回一个对象,那么该对象应该是什么?这是我为DW提供的函数,您可以看到它期望返回一个对象 @GET @Un

我目前正在将一个节点项目转换为DW。节点项目当前将来自客户端的JSON存储为字符串,然后在客户端获得相同资源时返回application/JSON。这基本上是一个键/值存储重置端点

我想用dropwizard实现同样的功能,但我不想在POJO中映射出整个结构及其嵌套结构。有没有办法做到这一点?我只想用键将JSON保存为数据库中的字符串,我根本不想在java应用程序中处理数据

既然API要求我返回一个对象,那么该对象应该是什么?这是我为DW提供的函数,您可以看到它期望返回一个对象

@GET
@UnitOfWork
@Timed
@ApiOperation(value="Find value by ID", notes="Get a value object from the DAO using ID as the sole criterion")
@ApiResponses(value={
        @ApiResponse(code=400, message="Invalid ID"),
        @ApiResponse(code=404, message="No object found by specified ID")
})
public SomeJavaOjbectMustGoHere getSample(
            @ApiParam(value="id of object to get", required=true)
            @QueryParam("id")
            Long id
        ) throws WebApplicationException {

    SomeJavaOjbectMustGoHere returned = dao.get(id);
    if (returned == null) throw new WebApplicationException(Response.Status.NOT_FOUND);
    else return returned;
}
以下是节点中的大部分代码:

module.exports=函数(服务器){
函数createResponse(req、res、next){
var key=req.params.name;
log(“为键创建响应:“+req.params.name+”);
//…一些验证。。。
如果(…废话){
//失败。
res.send(403,“没有有效的键和结构,无法保存响应”);
返回next();
}
var data=JSON.stringify(req.body);
//…将资料存储在数据库中。。。
res.send(201,“已保存”);
返回next();
}
函数getResponse(请求、恢复、下一步){
试一试{
var有效载荷={};
//…获取与密钥匹配的数据。。。
res.header(“内容类型”、“应用程序/json”);
res.send(200,JSON.parse(payload.toString());
}
捕捉(错误){
console.log('未找到数据')+错误;
res.send(200,
{
“id”:Math.random().toString(36).substr(3,8),
//…默认结构。。。
});
}
返回next();
}
函数发送(req、res、next){
res.send('响应'+请求参数名称);
返回next();
}
server.post('/response/:name',createResponse);
server.put('/response',send);
get('/response/:name',getResponse);
head('/response/:name',send);
del('/response/:name',函数rm(req,res,next){
res.send(204);
返回next();
});

}
如果您不想创建自己的对象模型,那么Jackson有一个解决方案

如果不想对数据执行任何操作,只需返回
字符串
,然后将以下注释添加到方法中:

@Produces(MediaType.APPLICATION_JSON) 

谢谢,现在就看吧。我也需要换个职位吗?我怎么才能拿到绳子,它只是身体吗?是的。您可以接受post正文作为字符串,也可以接受所有告诉JsonNode建议的站点使用它将json转换为POJO。因此,它没有看到一个好例子。