Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/87.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
Spring mvc Spring3MVC项目中如何使用Jackson将json数据动态解析为不同的对象_Spring Mvc_Jackson - Fatal编程技术网

Spring mvc Spring3MVC项目中如何使用Jackson将json数据动态解析为不同的对象

Spring mvc Spring3MVC项目中如何使用Jackson将json数据动态解析为不同的对象,spring-mvc,jackson,Spring Mvc,Jackson,我想知道是否有一种方法可以使用Spring3中的jackson特性将json数据动态解析为不同的对象 我有一个父类,如下所示: public class Recording { private String id; public String getId() { return id; } public void setId(String id) { this.id = id; } } 和两个孩子: public cl

我想知道是否有一种方法可以使用Spring3中的jackson特性将json数据动态解析为不同的对象

我有一个父类,如下所示:

public class Recording {
    private String id;

    public String getId() {
        return id;
    }


    public void setId(String id) {
        this.id = id;
    }
}
和两个孩子:

public class Child1Recording extends Recording {
    private String program;

    public String getProgram() {
        return program;
    }

    public void setProgram(String program) {
        this.program = program;
    }
}

public class Child2Recording extends Recording {
    private String time;

    public String getTime() {
        return time;
    }

    public void setTime(String time) {
        this.time = time;
    }
}
像这样的控制器:

@RequestMapping(value = "/init/postCheck.ajax", method = RequestMethod.POST)
public @ResponseBody
String postCheck(@RequestBody Recording recording) {
    if (recording instanceof Child2Recording) {
        return "\"child2 success\"";
    } else if (recording instanceof Child1ecording) {
        return "\"child1 success\"";
    }
    return "\"only parent Recording\"";
}
我有不同的场景将不同的json数据发布到后端,我想知道是否有一种方法可以让控制器像我上面所说的那样工作


目前,如果我发送一个Child2记录数据,解析数据时会发生错误。我无法获得我期望的正确对象。

您可以编辑并放置您正在发布的
@RequestBody
吗?请查看此链接,主要是第6个示例,该示例演示了如何根据特定的json条目将json数据反序列化为多态java对象。