4

我想知道是否有一种方法可以通过使用 Spring3 中的杰克逊功能将 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 数据发布到后端,我想知道是否有办法让控制器像我上面所说的那样工作?

现在,如果我发送 Child2Recording 数据,解析时会发生错误。我无法得到我期望的正确对象。

4

0 回答 0