后台接收前端传kv格式的对象(对象的值是个数组)后台通过map接收(也可以通过JSONObject对象接收),然后转json再转list实体类

前端传的数据格式如下:

{"data":[{"questionId":"3","userId":"1","questionTypeId":"1","isRight":"1","answer":"A","myAnswer":"A"},
{"questionId":"2","userId":"1","questionTypeId":"2","isRight":"1","answer":"B","myAnswer":"D"}]}

后台接收代码:

    @PostMapping("/addPracticeDirectedAnswer")
    public ResultBody<Question> addPracticeDirectedAnswer(@RequestBody  Map<String, Object> paramMap , @RequestParam("token") String token) {
        //获取登录人信息
        if(null != paramMap){
            String jsonString = JSONObject.toJSONString(paramMap);
            JSONObject jsonObject  = JSON.parseObject(jsonString);
            String data = jsonObject.getString("data");
            List<QuestionHistoryAnswer> list = JSONObject.parseArray(data, QuestionHistoryAnswer.class);
        }
        return ResultBody.ok().data(null);
    }

或者通过JSONObject 对象接收

    @PostMapping("/addPracticeDirectedAnswer")
    public ResultBody<Question> addPracticeDirectedAnswer(@RequestBody JSONObject obj , @RequestParam("token") String token) {
        //获取登录人信息
        if(null != obj){
            String jsonString = obj.toJSONString(); 
            JSONObject jsonObject  = JSON.parseObject(jsonString);
            String data = jsonObject.getString("data");
            List<QuestionHistoryAnswer> list = JSONObject.parseArray(data, QuestionHistoryAnswer.class); 
        }
        return ResultBody.ok().data(null);
    }

实体类参数

@Data
public class QuestionHistoryAnswer {
	private int examPaperId;
	private int questionId;
	private Date time;
	private String answer;
	private String myAnswer;
	private boolean isRight;
	private int questionTypeId;
	private int pointId;
	private int userId;
	private String createTime;
	private String updateTime;
	private String pointName;
	private int fieldId;
	private String fieldName;
	private String questionTypeName;
}

接收数据后的转换截图

猜你喜欢

转载自blog.csdn.net/qq_36961226/article/details/121095415