有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何在JSONArray中存储唯一的元素

我试图将从数据库中获取的唯一元素存储在JSONArray中

HashSet<String> hs = new HashSet<String>();
JSONArray mainarray=new JSONArray();

PreparedStatement stmt = connection.prepareStatement("SELECT * from categories");
ResultSet rs=stmt.executeQuery();

while(rs.next())
{
    String T1 = rs.getString("T1");
    hs.add(T1);
    if(!hs.contains(T1))
    {
        mainarray.put(T1);
    }
}


System.out.println(mainarray); 

首先,输出是一个空数组[]

顺便说一下,我正在使用org.json.JSONArray

谁能帮忙吗


共 (1) 个答案

  1. # 1 楼答案

    调整查询,就不需要处理Java代码中的重复项

    JSONArray mainarray=new JSONArray();
    
    PreparedStatement stmt = connection.prepareStatement("SELECT DISTINCT T1 from categories");
    ResultSet rs=stmt.executeQuery();
    
    while(rs.next()) {
        String T1 = rs.getString("T1");
        mainarray.put(T1);
    }
    System.out.println(mainarray);