Android JSON按名称/类型拆分数据结果

时间:2018-03-30 12:14:49

标签: android arrays json

这是我第一次尝试使用源自Android设备上本地目录的JSON文件。现在我可以解析信息了。我唯一的问题是选择子类别,即如果一个部分包含系列“x1”,我只想列出包含系列“x1”的结果。有没有办法做到这一点?我希望首先完成选择器,然后让它看起来“花哨”:)任何帮助都会很棒。我的JSON片段如下:

[
  {
    "name": "Test",
    "value": "value from first field",
    "Series": "x2"
  },
  {
    "Batch": "0001",
    "character": "Orange",
    "Series": "x1",
    "image": "https://.png",
    "name": "Xr122",
    "value": "Figure"
  }
]

现在我的代码会读取以下内容:

ArrayList<String> fields = new ArrayList<String>();
        for (int index = 0; index < jsonArray.length(); index++) {
            //Set both values into the listview
            JSONObject jsonObject = jsonArray.getJSONObject(index);
            fields.add(jsonObject.getString("name") + " - " + jsonObject.getString("value"));
        }

我在搜索时选择某些因素时不知道从哪里开始。如果游戏系列等于“x1”然后显示等等。正确方向上的一个点会很棒。我有一个超过500个结果的列表,并认为这将是一个更快的方式来排序他的结果,而不是写一个新的json文件也允许自定义搜索。这是我第一次尝试这个,所以任何提示都会很棒。

1 个答案:

答案 0 :(得分:3)

你可以试试这个,但可能需要一些时间:

ArrayList<String> fields = new ArrayList<String>();
    for (int index = 0; index < jsonArray.length(); index++) {
        //Set both values into the listview
        JSONObject jsonObject = jsonArray.getJSONObject(index);

        String series = jsonObject.getString("series");

        if(series.equals("x1")){
                fields.add(jsonObject.getString("name") + " - " + jsonObject.getString("value"));
          }

    }