无法使用Jackson:Java从json字符串形成POJO

无法使用Jackson:Java从json字符串形成POJO,java,json,jackson,Java,Json,Jackson,我有以下字符串: {"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<SoftAPInf

我有以下字符串:

{"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();
        }
但我一直得到一个例外: 无法反序列化启动\u数组令牌之外的对象

有人能帮我解决这个问题吗

谢谢,
Sunny

问题在于每个网络不是一个JSON对象,而是一个JSON数组。如果要将普通JSON数组反序列化为Java对象,则需要提供一个自定义反序列化器,该反序列化器可以理解对象顺序并创建适当的POJO。

谢谢。你能用一个例子来解释一下吗?请解释一下我可以改进的缺点。谢谢