使用Jackson的JSON字符串到Java对象

ViR*_*LiC 9 java json jackson json-deserialization

这可能是标题说明的所有问题之一.

我非常着迷readValue(file, class)于在Jackson库中找到的ObjectMapper 方法,该方法从文件中读取JSON字符串并将其分配给对象.

我很好奇是否可以通过从字符串中获取JSON并将其应用于对象来实现.

某种替代readValue()方法,它接受String而不是文件,并将其分配给对象?

例如,虽然默认readValue(file, class)方法如下所示:

ObjectMapper mapper = new ObjectMapper();
Student student = mapper.readValue("C:\\student.json", Student.class);
Run Code Online (Sandbox Code Playgroud)

我想知道杰克逊是否有某种方法允许以下方法:

ObjectMapper mapper = new ObjectMapper();
Student student = mapper.readValue("{\"id\":100,\"firstName\":\"Adam\"}", Student.class);
Run Code Online (Sandbox Code Playgroud)

第二个示例采用字符串和类的对象,而第一个示例采用文件和类的对象.

我只是想切出中间人,在这种情况下,文件.

这是可行的还是在杰克逊的限制范围内不存在这样的方法?

Dan*_*SFT 12

试试这个,

您无法像创建一样创建新字符串.

    String string = "{\"id\":100,\"firstName\":\"Adam\"}";
    Student student = mapper.readValue(string, Student.class);
Run Code Online (Sandbox Code Playgroud)