簡體   English   中英

無法使用Jackson:Java的JSON字符串形成POJO

[英]Unable to form POJO from json string using Jackson: Java

我有以下字符串:

{"networks":[["divakar","64:66:",4,1,-37,-98],["OPTUSA202B26","00:1e:2a:",3,2,-40,-98],["Mantri","00:1e:a6:1",5,6,-41,-98],["belkin.5D7","08:86:3",5,6,-38,-98]]}

我正在使用以下對象:

public static class Network{
        private ArrayList<SoftAPInfo> networks;

        public Network(ArrayList<SoftAPInfo> networks) {
            this.networks = networks;
        }

        public Network(){

        }

        public ArrayList<SoftAPInfo> getNetworks() {
            return networks;
        }

        public void setNetworks(ArrayList<SoftAPInfo> networks) {
            this.networks = networks;
        }
    }


public static class SoftAPInfo {
        private ArrayList<String> list;
        public ArrayList<String> getList() {
            return list;
        }

        public void setList(ArrayList<String> list) {
            this.list = list;
        }

        public SoftAPInfo() {

        }
}

和以下傑克遜命令:

TypeReference<Network> typeRef = new TypeReference<Network>() {};
ObjectMapper mapper = new ObjectMapper();
        try {
            Object jsonObject =  mapper.readValue(response, typeRef);
            callback.onSuccess(jsonObject);
        } catch (JsonParseException e) {
            e.printStackTrace();
        } catch (JsonMappingException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }

但我不斷遇到異常:無法從start_array令牌中反序列化對象

有人可以幫我在這里解決問題嗎?

謝謝,陽光明媚

問題是每個“網絡”都不是JSON對象,而是JSON數組。 如果要將反序列化的JSON數組反序列化為Java對象,則需要提供一個自定義反序列化器,該反序列化器可以理解對象的順序並可以創建適當的POJO。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM