亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用 JSON-B 反序列化 JSON 數組

使用 JSON-B 反序列化 JSON 數組

蕭十郎 2023-06-04 11:09:03
我正在嘗試使用 JSONB 反序列化 JSON 數組。JSON[  {    "id": "1",    "animal": "dog",    "age": "3"  },  {    "id": "2",    "animal": "cat",    "age": "5"  }]控制器Jsonb jsonb = JsonbBuilder.create();    Animal animal;AnimalsList animalsList;public AnimalsList getAnimals() {    try {        animalsList = jsonb.fromJson("[{\"id\":\"1\",\"animal\":\"dog\",\"age\":\"3\"},{\"id\":\"2\",\"animal\":\"cat\",\"age\":\"5\"}]", AnimalsList.class);    } catch (JSONException ex) {        Logger.getLogger(Controller.class.getName()).log(Level.SEVERE, null, ex);    }    return animalsList;}動物清單public class AnimalsList implements Serializable{    private List<Animal> list;    public AnimalsList() {    }    public AnimalsList(List<Animal> list) {        this.list = list;    }    // getter & setter}動物public class Animal implements Serializable{    private int id;    private String animal;    private int age;    public Animal() {    }    public Animal(int id, String animal, int age) {        this.id = id;        this.animal = animal;        this.age = age;    }    // getter & setter}但我收到以下錯誤:javax.json.bind.JsonbException: Can't deserialize JSON array into: class com.model.AnimalsList
查看完整描述

2 回答

?
紅糖糍粑

TA貢獻1815條經驗 獲得超6個贊

List<Dog> dogs = new ArrayList<>();

dogs.add(falco);

dogs.add(cassidy);


// Create Jsonb and serialize

Jsonb jsonb = JsonbBuilder.create();

String result = jsonb.toJson(dogs);


// Deserialize back

dogs = jsonb.fromJson(result, new ArrayList<Dog>(){}.getClass().getGenericSuperclass());



查看完整回答
反對 回復 2023-06-04
?
紅顏莎娜

TA貢獻1842條經驗 獲得超13個贊

如果您不限于僅使用 JSON-B,則可以通過 TypeReferencing 使用 ObjectMapper 來完成。


private ObjectMapper objectMapper = new ObjectMapper();

List<Animal> animals = objectMapper.readValue(json , new TypeReference<List<Animal>>(){});



查看完整回答
反對 回復 2023-06-04
  • 2 回答
  • 0 關注
  • 183 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號