一尘不染

使用Jackson JSON在Spring MVC中解析JSON

spring

我有一个Spring MVC Servlet,我需要从JavaScript前端Web应用程序接受JSON。要解析JSON,我需要使用Jackson。我需要获取JSON中的值并将它们按在JSON中出现的顺序存储到列表中。我尝试过将JsonFactory与JsonParser和JsonNode对象一起使用,但是可以使其正常工作。我也尝试过打开BufferedReader并逐行遍历请求正文,但同样不能完全做到这一点。我在这里查看了几个相关的问题,但是到目前为止,没有一个问题对我有用。

知道的任何人都可以在这里向我指出正确的方向,带有示例的网页会很棒!


阅读 384

收藏
2020-04-14

共1个答案

一尘不染

使用诸如Jackson的映射技术的全部要点是,你可以使用Objects(你不必自己解析JSON)。

定义一个类似于你所期望的JSON的Java类。

例如这个JSON:

{
"foo" : ["abc","one","two","three"],
"bar" : "true",
"baz" : "1"
}

可以映射到此类:

public class Fizzle{
    private List<String> foo;
    private boolean bar;
    private int baz;
    // getters and setters omitted
}

现在,如果你具有如下Controller方法:

@RequestMapping("somepath")
@ResponseBody
public Fozzle doSomeThing(@RequestBody Fizzle input){
    return new Fozzle(input);
}

然后从上方传递JSON,Jackson会自动为你创建一个Fizzle对象,并将返回的Object的JSON视图序列化为mime type的响应application/json

2020-04-14