json分析错误:无法反序列化arraylist的示例

l7wslrjt  于 2021-07-08  发布在  Java
关注(0)|答案(1)|浏览(561)

我正在尝试向post-bodyrequest服务发送一个json,以将此信息用作javaarraylist或类似的东西。当我尝试这样做时,我收到一个反序列化错误
这是我的json:
{信息:[{字段:“提供的期间”,表格:“课程”,列:“学术水平*”},{字段:“默认评分依据*”,表格:“课程”,列:“默认提供百分比”},{字段:“允许的地点”,表格:“课程”,列:“允许提供”}]}
这是我的邮政服务

@ResponseBody
@PostMapping("/dataMapping/update/table")

public ResponseEntity<Object> updateDataMappingTable(@RequestBody List<UpdateDataMapping> information) {

    try {
        String update = this.dataMappingService.update(information);
        return new ResponseEntity<Object>(update, HttpStatus.OK);
    } catch (Exception e) {
        Response response = new Response();
        response.setError(e.getMessage());
        return new ResponseEntity<Object>(response, HttpStatus.OK);
    }
}

我的updatedatamapping类如下所示:

public class UpdateDataMapping {

    public String fields;
    public String tables;
    public String columns;

    public UpdateDataMapping() {

    }

    public UpdateDataMapping(String fields, String tables, String columns) {

        this.fields = fields;
        this.tables = tables;
        this.columns = columns;
    }

    public String getFields() {
        return fields;
    }

    public void setFields(String fields) {
        this.fields = fields;
    }

    public String getTables() {
        return tables;
    }

    public void setTables(String tables) {
        this.tables = tables;
    }

    public String getColumns() {
        return columns;
    }

    public void setColumns(String columns) {
        this.columns = columns;
    }
}

这是我的错误:
.w.s.m.s.defaulthandlerexceptionresolver:已解析[org.springframework.http.converter.httpMessageToradableException:json解析错误:无法反序列化的示例 java.util.ArrayList<com.kastech.model.UpdateDataMapping> 不启动对象令牌;嵌套异常为com.fasterxml.jackson.databind.exc.missmatchdinputException:无法反序列化的示例 java.util.ArrayList<com.kastech.model.UpdateDataMapping> [source:(pushbackinputstream)处的启动对象令牌不足;行:1,列:1]]
如果有人能帮我,我会很感激的。

k3fezbri

k3fezbri1#

您的json示例显示您的数组是在 information 对象。您看到的是当前堆栈跟踪,因为jackson无法找到反序列化请求负载的适当方法。
或者,您可以将请求json更改为简单的列表

[ {fields: "Periods Offered", tables: "Courses", columns: "Academic Level*"}, {fields: "Default Grading Basis*", tables: "Courses", columns: "Default Offering Percentage"}, {fields: "Allowed Locations", tables: "Courses", columns: "Allowed to Offer"} ]

或者你可以用一个pojo来代表它 information 对象

class UpdateMappingList {
    List<UpdateDataMapping> information;
    ...
}

相关问题