嘿,我得到了一个基于与杰克森反序列化的问题,这里我尝试过和我得到的错误。
错误: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>>() {});
我的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",
}
]
答案 0 :(得分:28)
如果您使用json validator,则可以看到更详细的错误消息:
Parse error on line 6:
...ntry", }, { "id
---------------------^
Expecting 'STRING'
"xx-xx-xxxx,x - street, x - country"
之后你有额外的逗号。如果你从两个地方删除它,你就有了有效的JSON和Jackson解析工作。
答案 1 :(得分:5)
这是因为您的上一个条目,在您的上一个值之后有一个,
。这就是为什么杰克逊期待另一个领域。