java - 在 Spring MVC 中使用 Jackson JSON 解析 JSON

标签 java json spring spring-mvc jackson

好的,所以我已经研究了一段时间了,不再赘述。我有一个 Spring MVC servlet,我需要从 JavaScript 前端 Web 应用程序接受 JSON。要解析 JSON,我需要使用 Jackson。我需要获取 JSON 中的值并按照它们在 JSON 中出现的顺序将它们存储到列表中。我已经尝试将 JsonFactory 与 JsonParser 和 JsonNode 对象一起使用,但完全可以让它工作。我也尝试打开一个 BufferedReader 并逐行遍历请求正文,但也不能完全得到这个。我在这里查看了几个相关问题,但到目前为止没有一个对我有用。

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

最佳答案

使用像 Jackson 这样的映射技术的全部意义在于您可以使用对象(您不必自己解析 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 View 序列化为具有 mime 类型 application/json 的响应.

完整的工作示例see this previous answer of mine .

关于java - 在 Spring MVC 中使用 Jackson JSON 解析 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6019562/

相关文章:

jquery - 使用 JSON 对 jQuery 函数进行排序

arrays - 多个查询结果在一个结果json

java - 如何在 Spring 中连接相互依赖的 bean?

spring - ModelAndView object.addAttribute() 相当于 request.setAttribute

java - 通用查询检查一个表是否存在于所有 RDBMS 中

java - 运行Java jar应用程序时如何在系统任务栏中重新运行用javafx编写的用户界面

java,资源加载失败: unable to resolve file:/my-jar. jar!/folder/my-file

c# - 如何使用 Moq 创建带有 JSON 正文的模拟 HTTP 发布请求

java - 如何在 bean 定义方法中获取 spring bean

java - 没有找到适合 getDate(Date) 的方法