从 JSON 数组收集数据的数组列表

Posted

技术标签:

【中文标题】从 JSON 数组收集数据的数组列表【英文标题】:An arraylist to collect data from JSON array 【发布时间】:2019-05-21 16:59:37 【问题描述】:

我花了太多时间阅读 java 中的列表 - 集合,我找不到比 arraylist 更好的解决方案来从 JSON 数组中收集数据并编辑数据(如果在 mylist 中通过键存在或不存在则将模型放入 mylist .我在同一个问题上陷入了两个不同的项目。

    我无法通过 arraylist for 循环在我的 arraylist 中编辑 int 类型。 我无法通过 JSON 数组的键在 arraylist 中找到模型并编辑新参数。

谁能告诉我我在哪里搞混了? 这是第一种情况的代码

if (kolekcija.get(Id).isEmpty())
    kolekcija.get(Id).add(model);
 else 
    try 
        boolean isEmptyModel = false;
        for (int i = 0; i < kolekcija.get(Id).size(); i++)
            if (kolekcija.get(Id).get(i).getName.equals(model.Name)) 
                double dva = kolekcija . get (Id).get(i).getSum();
                kolekcija.get(Id).get(i).setSum(dva + 1.00);
             else 
                isEmptyModel = true;
            
        
        if (isEmptyModel) 
            kolekcija.get(Id).get(i).add(model);
            isEmptyModel = false;
        
     catch (Exception e) 
        e.printStackTrace();
    

这是第二种情况的代码

// inside for loop to collect json object
MyModel model = new MyModel();
model.setregister(reg);
boolean isEmptyModel = false;

if(listamodela.size() == 0)
    listamodela.add(model);


for(int i = 0; i < listamodela.size(); i++ )
    if (listamodela.get(i).getregister().equals(reg)) 
        listamodela.get(i).addValueToList(value);
     else 
        isEmptyModel = true;
    


if(isEmptyModel)
    listamodela.add(model);
    isEmptyModel = false;

我尝试了几种解决方案 - 包含,但我总是遇到同样的问题。

【问题讨论】:

我还是没有找到好的安卓java编辑器。你不是在用android studio吗? 【参考方案1】:

我希望我正确理解了这个问题,您正在尝试按键保存数据,如果集合中已经存在该键,请覆盖该数据/继续而不覆盖该数据?

如果是这种情况,您可以使用 Map 集合,而不是列表集合。 Map集合映射key和value,一个key不能重复两次(key存储在一个Set集合中,即不允许重复)。

我建议阅读有关 Map 和 HashMap 的内容。

https://www.tutorialspoint.com/java/java_map_interface.htm

【讨论】:

以上是关于从 JSON 数组收集数据的数组列表的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Retrofit 从 Json 数组列表中检索 MpAndroid 图表内的数据?

无法将json数组填充到数组列表android开发

从哈希数组中收集特定值

更改从JSON数组创建的列表中的项目

Google BigQuery SQL:从 JSON(列表和数组)中提取数据到列中

如何使用 NSDictionary 收集嵌套在数组中的 JSON 数据