响应对象值来自数组和一些时间对象,如何在我的代码中识别?

时间:2016-07-20 12:25:46

标签: android json gson

我的响应有很多值,但是有一个是过滤器对象,它们会在一段时间内在数组中出现一段时间。

  • 如何找到这个是对象或数组,我在android中使用Gson。
  • 按照这样的数组进行投放,

    "filter": [
                  {
                   "id": 3,
                   "level": "0",
                   "parent_id": 0,
                   "category_name": "Women",
                   "LEVEL1": [
                                 {
                                  "id": 130,
                                  "level": "1",
                                  "parent_id": 3,
                                  "parent_name": "Women",
                                  "category_name": "Saree",
                                  "LEVEL2": [
                                      {
                                        "id": 152,
                                        "level": "2",
                                        "parent_id": 130,
                                        "parent_name": "Saree",
                                        "parent_parent_id": 3,
                                        "parent_parent_name": "Women",
                                        "category_name": "Party Wear"
                                      }
                            ]
                    }
                 ]
    
  • 有一段时间会这样,

    "filter": {
               "0": {
                     "attribute_title": "Brand",
                     "attribute_id": 1,
                     "childs": [
                                {
                                 "child_attribute_name": "Ambica",
                                 "child_attribute_id": 530,
                                 "count": 38
                                }
                               ]
             }
    
  • 我正在使用Gson,然后如何在代码中识别,

1 个答案:

答案 0 :(得分:0)

使用GSON API:

从响应json创建JsonObject并将其传递给以下方法:

    public Class<?> getJSONType(JsonObject jsObj) {
    GsonBuilder gBuilder = new GsonBuilder();
    Gson gson = gBuilder.create();
    Object obj = gson.fromJson(jsObj.get("filter"), Object.class);
    if(obj instanceof List){
        return List.class;
    }else if(obj instanceof Map){
        return Map.class;
    }
    return null;
}

这里我认为过滤器是JSON中的顶级元素。 应修改代码jsObj.get("filter")以达到正确的位置。