繁体   English   中英

如何反序列化对象或数组

[英]How to deserialize object or array

如何处理孩子的名字。 我正在使用gson 这是我的代码,我得到了非法状态异常:预期为Begin对象,但在行开始为array ..我不知道如何迭代gson对象

        Reader reader = jSONParser.getGSONFromUrl(url);
    Root response=null;
    try {
        response = new Gson().fromJson(reader, Root.class);
        person
        = new ArrayList<Person>(Arrays.asList(response.person.clone()));
       children 
       = new ArrayList<Child>(Arrays.asList(response.Children.clone()));
       job
        = response.job;
        } catch (Exception e) {
        // TODO: handle exception
        System.out.println("JSONReader "+e.getMessage());
    }
}

public class Root{  
    @SerializedName("person")       
    Person[] persons;
    @SerializedName("job")
    Job job;
    @SerializedName("children")
    Child[] children;

}

    class Child{ 
    int cID;
    List<String>names;
}


{
person:[{}, {}, {}..], 

job:{..},

children:{"cID":"1", "name":{"firstname":"mark"}} 

}

要么

{

person:[{}, {}, {}..],

job:{..},

children:{"cID":"1", "name":[{"firstname":"mark"}, {"firstname":"jan"}, {"firstname":"tamara"}...]}

}

如何处理孩子的名字。 我正在使用gson 这是我的代码,我得到了非法状态异常:预期为Begin对象,但在行开始为array ..我不知道如何迭代gson对象

要获得名称,您需要具有以下路径:

children.name

如果您有一个名字数组,则应以一个数组的形式进行访问:

children.name.firstname[number]

由于您的“名称”是对象类型,因此您可以通过“”来引用其任何字段。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM