2013-10-31 5 views
9

ちょっと、私はジャクソンのデシリアライゼーションに基づいて問題を抱えています。ジャクソンのエラー予期せぬ文字( '}'(コード125))

ERROR: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": "[email protected]", 
     "prenom": "xx-xx-xxxx,x - street, x - country", 

    }, { 
     "id": "201", 
     "name": "Johnny Depp", 
     "email": "[email protected]", 
     "prenom": "xx-xx-xxxx,x - street, x - country", 

    } 
] 

答えて

18

あなたがjson validatorを使用する場合は、より詳細なエラーメッセージを見ることができます:

Parse error on line 6: 
...ntry",   }, {  "id 
---------------------^ 
Expecting 'STRING' 

あなたは"xx-xx-xxxx,x - street, x - country"後にそこに余分なコンマを持っています。両方の場所から削除すると、有効なJSONとJacksonの構文解析が行われます。

+0

jsonバリデーターツールをありがとう。私はjsbeautiferだけを使用していましたが、これは以前のことでした。 – Rollyng

+0

非常に参考になりました – Jay

1

最後のエントリのため、最後の値の後に,があるためです。なぜジャクソンは別の分野を期待しているのですか?

関連する問題