Java Android和GSON未抛出参数构造函数未找到异常

Java Android和GSON未抛出参数构造函数未找到异常,java,android,json,gson,Java,Android,Json,Gson,我的Android应用程序中的GSON有问题 JSON输入 [ {"id":"1202","parent_id":"0","agrpcount":"0","disp_order":"1","code":"PROD-NEW","name":"New Products","active":"1"}, {"id":"1119","parent_id":"0","agrpcount":"0","disp_order":"2","code":"PROD-VID","name":"\\\"H

我的Android应用程序中的GSON有问题

JSON输入

[
    {"id":"1202","parent_id":"0","agrpcount":"0","disp_order":"1","code":"PROD-NEW","name":"New Products","active":"1"},
    {"id":"1119","parent_id":"0","agrpcount":"0","disp_order":"2","code":"PROD-VID","name":"\\\"How To\\\" Videos","active":"1"},
    {"id":"1685","parent_id":"0","agrpcount":"0","disp_order":"3","code":"SUPP-RESOUR","name":"Support Resources","active":"1"},
    {"id":"49","parent_id":"0","agrpcount":"0","disp_order":"109","code":"EQ","name":"Equipment for Sign Making","active":"1"},
    {"id":"22","parent_id":"0","agrpcount":"0","disp_order":"110","code":"application-tape","name":"Application Tapes","active":"1"}
]
每个数组项的容器类

public class Category {
    public int id;
    public int parent_id;
    public int agrpcount;
    public int disp_order;
    public String code;
    public String name;
    public int active;
}
类来加载类别数组

public static List<Category> getCategories(){
    Category[] cats;

    Gson gson = new Gson();

    cats = gson.fromJson(strJSON, Category[].class);

    List<Category> CatsList = Arrays.asList(cats);
    return CatsList;
}
我尝试向Category类添加一个no-args构造函数,但这没有帮助。这并不奇怪,因为Java会自动创建它

有人知道如何解决这个问题吗


谢谢。

尝试将类别类别设置为公共类静态类

public static class Category {/* fields */}

我打赌发生的事情是,由于您没有将类设置为静态,它正在尝试首先创建您的父/外部类(com.signwarehouse.catalog.SWService),该类可能没有无参数构造函数。

您可以发布整个SWService.Category类吗?这似乎是一个内在的阶级。也许GSON无法访问它。你想让它成为一个属于自己的类吗?@gabe:他想了,而且它是一个内部的公共类。看起来是正确的。您能否尝试从数组中仅获取一个对象(编辑文件以包含一个对象)并使用Category.class?完美。工作得很有魅力。谢谢。+1很好地捕捉到
Category
是异常消息中的一个内部类。
public static class Category {/* fields */}