2017-12-08 4 views
1

APIを使用していますが、結果をJacksonとデシリアライズしようとしていますが、私はいつも同じミスがあります。Jackson JSon:START_OBJECTトークンからjava.lang.Stringのインスタンスを逆シリアル化できません

私のPOJOは正しくないと思われますが、間違ったものは見つかりません。

間違いは、私が文字列として、あるいは任意の成功なしリストとして宣言しようとしたのlibs

です。何か案が ?

{ 
"libs": {}, 
"items": [ 
    { 
     "id": "001", 
     "cars": [ 
      "cd1042af-856d-4649-a170-032d15a4119b", 
      "00ed61a4-3aab-4722-90c2-7f4cca4cbded", 
      "8fa3aa8b-3f22-4413-a41d-e78de9051de2" 
     ], 
     "name": "James" 


    }, 
    { 

     "id": "002", 
     "cars": [ 
      "cd1043af-856d-4649-a170-032d15a4119b", 
      "00ed61a4-3aab-4722-90c2-7f4cca4cbded", 
      "8fa3aa8b-3f22-4413-a41d-e78de9051de2" 
     ], 
     "name": "James" 

    }] 

}

public class Page<Car> { 


    private List<String> libs; 

    private List<Car>items; 



    public List<Car> getItems() { 
     return items; 
    } 

    public void setItems(List<Car> items) { 
     this.items = items; 
    } 

    public List<String> getLibs() { 
     return libs; 
    } 

    public void setLibs(List<String> libs) { 
     this.libs = libs; 
    } 



} 
+0

あなたは最初のジェイソンでバリデータを渡ししようとしています?私は「名前」に問題があります:「James」、「最後のカンマは問題です – JTejedor

答えて

2

あなたはリストとしてLIBSを宣言するが、マップ/オブジェクトのブラケットを使用しています。

"libs": []

する必要があり、name属性が各リストの要素で終了した後、あなたは余分なカンマを持っています。次のように

1

修正さJSONは次のとおりです。

{ 
    "libs": [], 
    "items": [ 
    { 
     "id": "001", 
     "cars": [ 
     "cd1042af-856d-4649-a170-032d15a4119b", 
     "00ed61a4-3aab-4722-90c2-7f4cca4cbded", 
     "8fa3aa8b-3f22-4413-a41d-e78de9051de2" 
     ], 
     "name": "James" 
    }, 
    { 
     "id": "002", 
     "cars": [ 
     "cd1043af-856d-4649-a170-032d15a4119b", 
     "00ed61a4-3aab-4722-90c2-7f4cca4cbded", 
     "8fa3aa8b-3f22-4413-a41d-e78de9051de2" 
     ], 
     "name": "James" 
    } 
    ] 
} 
関連する問題