根据类别

时间:2017-11-22 08:03:51

标签: android json

我想知道如何过滤数据。我获得了带有类别名称的数据,但无法过滤类别。这是我的数据:

  {
    "TITLE": "tea",
    "PRICE": "17",
    "QTY": "1",
    "CAT_ID": "33",
    "CAT_NAME": "POPULAR PRODUCTS",
    "TYPE": "veg"
  },
  {
    "TITLE": "Coffee",
    "PRICE": "102",
    "QTY": "1 ",
    "CAT_ID": "8",
    "CAT_NAME": "MORNING SPECIAL",
    "TYPE": "veg"
  },
  {
    "TITLE": "Jeera chachh",
    "PRICE": "42",
    "QTY": "1",
    "CAT_ID": "33",
    "CAT_NAME": "POPULAR PRODUCTS",
    "TYPE": "veg"
  },
  {
    "TITLE": "Roti Ghee Wali",
    "PRICE": "21",
    "QTY": "1",
    "CAT_ID": "33",
    "CAT_NAME": "POPULAR PRODUCTS",
    "TYPE": "veg"
  },
  {
    "TITLE": "Paneer paratha",
    "PRICE": "102",
    "QTY": "1 ",
    "CAT_ID": "8",
    "CAT_NAME": "MORNING SPECIAL",
    "TYPE": "veg"
  },
  {
    "TITLE": "Mix paratha",
    "PRICE": "102",
    "QTY": "1",
    "CAT_ID": "8",
    "CAT_NAME": "MORNING SPECIAL",
    "TYPE": "veg"
  },

我已经解析了数据,但无法根据类别设置片段。任何人都可以解决我的问题。

2 个答案:

答案 0 :(得分:1)

第1步:将数据存储在数据库中。

第2步:搜索 select * from table where CAT_NAME = 'your_filter_category'。 或者更好....CAT_NAME like %your_filter_category%

如果没有数据库;

将数据存储在列表中。

HashMap<String, ArrayList<Item>> map = new HashMap<>();

ArrayList<Item> itemList = new ArrayList<>();

Loop on List{
    Item item = fromLoop index;

    if(map.contains(item.getCat())){
        itemList = map.get(item.getCat());
        itemList.put(item);
        map.put(item.getCat(),itemList);

    }else{
        itemList.clear();
        itemList.put(item);
        map.put(item.getCat(),itemList);
    }
}

//after loop you will get HashMap with keys as categories and Values as the list of selected key category.

第3步:发布结果。

注意:这里没有人会做你的功课。我们唯一能为您做的事情,我们可以帮助您完成工作。

答案 1 :(得分:0)

输入您的代码:JSON Formatter您将看到JSON中的某些内容无效,它有多个根元素。也许你应该将整个代码存储在JSONArray中:`

{
"features":
 [{ 
  "TITLE": "tea", 
  "PRICE": "17", 
  "QTY": "1", 
  "CAT_ID":"33", 
  "CAT_NAME": "POPULAR PRODUCTS", 
  "TYPE": "veg" },
  { 
  "TITLE":"Coffee", 
  "PRICE": "102", 
  "QTY": "1 ", 
  "CAT_ID": "8",
  "CAT_NAME":"MORNING SPECIAL", 
  "TYPE": "veg" 
}]
}