杰克逊错误意外的字符('}'(代码125))

Rol*_*yng 16 java json jackson

嘿,我得到了一个基于与杰克森反序列化的问题,这里我尝试过和我得到的错误.

错误:com.fasterxml.jackson.core.JsonParseException:意外字符('}'(代码125)):期望双引号启动字段名称

Java代码

List<Contact> ds = mapper.readValue(data, mapper.getTypeFactory().constructCollectionType(List.class, Contact.class));

 //OR this one

List<Contact> ds = mapper.readValue(data, new TypeReference<List<Contact>>() {});
Run Code Online (Sandbox Code Playgroud)

我的JSON

[   
    {
        "id": "200",
        "name": "Alexia Milano",
        "email": "minalo@gmail.com",
        "prenom": "xx-xx-xxxx,x - street, x - country",

    }, {
        "id": "201",
        "name": "Johnny Depp",
        "email": "johnny_depp@gmail.com",
        "prenom": "xx-xx-xxxx,x - street, x - country",

    }
]
Run Code Online (Sandbox Code Playgroud)

eis*_*eis 31

如果使用json验证器,则可以看到更详细的错误消息:

Parse error on line 6:
...ntry",            },    {        "id
---------------------^
Expecting 'STRING'
Run Code Online (Sandbox Code Playgroud)

之后你还有额外的逗号"xx-xx-xxxx,x - street, x - country".如果从两个位置删除它,您将获得有效的JSON和Jackson解析工作.


Mar*_*ler 5

这是因为您的最后一个条目,在您的最后一个值之后有一个。这就是杰克逊为何期望另一个领域的原因。