当前位置: 首页 > 面试题库 >

如何获取JSON数组并使用gson解析每个json对象?(改造)

白浩荡
2023-03-14
问题内容

我正在使用json对象返回一个结果数组,并且试图使用我的customObjectResponse类拉出每个对象中的每个字段…这是一个对象的问题,所以我该如何编辑我的类为了允许它接受一个对象数组,然后能够调用每个对象的字段…我对需要添加的内容感到困惑:

这是正在使用的响应示例:

[
  {
    itemId: 'dfsdfsdf343434',
    name: 'tests',
    picture: '6976-7jv8h5.jpg',
    description: 'testy.',
    dateUpdated: 1395101819,

  }
]

这是我的响应对象类:

public class ObjResponse{
    private String itemId;
    private String name;
    private String picture;

    private String description;

    private String location;
    private int dateUpdated;

    private String msg;




    //gridview constructor
    public ObjResponse(String picture) {
        this.picture = picture;
    }

    //public constructor
    public ObjResponse() {

    }

    public String getItemId() {
        return itemId;
    }

    public void setItemId(String itemId) {
        this.itemId = itemId;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPicture() {
        return picture;
    }

    public void setPicture(String picture) {
        this.picture = picture;
    }


    public String getLocation() {
        return location;
    }

    public void setLocation(String location) {
        this.location = location;
    }


    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }



    public int getDateUpdated() {
        return dateUpdated;
    }

    public void setDateUpdated(int dateUpdated) {
        this.dateUpdated = dateUpdated;
    }




    public String getMsg() {
        return msg;
    }

}

我正在尝试但不起作用的内容,即使我将这些类分为各自的文件也是如此:

Data passed in:
items: [{obj1: "A", obj2: ["c", "d"]}, {etc...}]


public class Response {

        public class List<Custom> {
                private List<Custom> items;
        }

        public class Custom {
                private String obj1;
                private List<Obj2> obj2;
        }

        public Class Obj2 {
                private String letters;
        }
}

问题答案:

我最终只是在回调中调用了customObject的列表,它完成了工作。

new Callback<List<ObjResponse>>() {


 类似资料:
  • 问题内容: 我有一个JSON,它可以是单个对象或相同对象的数组。有没有一种方法可以使用Gson解析此数据,从而区分单个对象还是数组? 我目前唯一的解决方案是手动解析json并用try catch包围它。首先,我将尝试将其解析为单个对象,如果失败,它将引发异常,然后尝试将其解析为数组。 我不想手动解析它……那将使我永远。这是正在发生的事情的想法。 这是可以是数组或单个对象的对象。 然后在与json响

  • 服务器JSON数据显示在活动中使用改造。JSON数据通过gson转换。 给错误:"java.lang.IllegalState异常:预期BEGIN_ARRAY但BEGIN_OBJECT在第1行第2列路径$" JSON格式: 代码: 主要活动。kt

  • 问题内容: 我想解析JSON数组并使用gson。首先,我可以记录JSON输出,服务器清楚地响应客户端。 这是我的JSON输出: 我尝试了这种结构进行解析。一个类,该类取决于单个JSONArray 和所有JSONArray。 上课时间: 当我尝试使用gson时,没有错误,没有警告,也没有日志: 怎么了,我该怎么解决? 问题答案: 您可以直接解析直接类,不需要再花更多时间包装您的类,也不需要新的类:

  • } 我在公共类中的主要方法是这样的: 以下是包裹的代码: } 但是我似乎没有找到正确的方法来将变量的所有值存储在列表中。现在我得到的只是parcel[data=null]。

  • 问题内容: 我有一个像这样的JSON文件: 在文件具有根元素之前,我将使用: 代码,但我不认为如何将类编码为根元素是一个数组。 我试过使用: 与: 但是还没有运气。使用这种方法我还能怎么读呢? PS我有这个工作使用: 但是我更想知道如何使用这两种方法(如果可能)。 问题答案: 问题是由放置在数组中的JSON对象(在 每种 情况下)的末尾逗号引起的: 如果删除它们,您的数据将成为 和 应该工作正常。

  • 附言:我用这个来工作: 但我更希望知道如何做到这一点(如果可能的话)与这两种方法。