2016-09-09 1 views
0

Я хочу выбрать таблицу своих данных и сохранить ее содержимое в файле JSON. Но мой файл JSON содержит только последнюю строку моей таблицы. Можете ли вы помочь мне определить, где я ошибаюсь? Спасибо ...Создайте файл JSON, прочитав таблицу mySQL в java

Вот часть моего кода Java:

JSONObject obj = new JSONObject(); 
JSONArray array = new JSONArray(); 

try { 
    conn = DriverManager.getConnection(url, utilisateur, motDePasse); 
    preparedStatement = conn.prepareStatement("SELECT idUser, emailUser, motPassUser FROM utilisateur;"); 
    result = preparedStatement.executeQuery("SELECT idUser, emailUser, motPassUser FROM utilisateur;"); 

    obj = new JSONObject(); 
    array = new JSONArray(); 

    while (result.next()) { 
     obj.put("id", result.getInt("idUser")); 
     obj.put("email", result.getString("emailUser")); 
     obj.put("password", result.getString("motPassUser")); 
     array.add(obj); 
    } 

    try { 
     FileWriter file = new FileWriter("user.json"); 
     file.write(((JSONArray) array).toJSONString()); 
     file.flush(); 
     file.close(); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
} catch (SQLException e) { 

} finally { 
    if (result != null) { 
     try { 
      result.close(); 
     } catch (SQLException ignore) { 
     } 
    } 
    if (preparedStatement != null) { 
     try { 
      preparedStatement.close(); 
     } catch (SQLException ignore) { 
     } 
    } 
    if (conn != null) { 
     try { 
      conn.close(); 
     } catch (SQLException ignore) { 
     } 
    } 
} 

И это выход из моего JSON файла: только

[{"id":3,"email":"[email protected]","password":"ludovic1992"}, 
{"id":3,"email":"[email protected]","password":"ludovic1992"}, 
{"id":3,"email":"[email protected]","password":"ludovic1992"}] 

Она содержимое последней строки моего стола ...

ответ

0

создать объект JSON внутри цикла while как

while (result.next()) { 

obj = new JSONObject(); 

     obj.put("id", result.getInt("idUser")); 

     obj.put("email", result.getString("emailUser")); 

     obj.put("password", result.getString("motPassUser")); 

     array.add(obj); 
    } 
+0

Спасибо. Он работает –

+0

приветствуется, наслаждайтесь кодированием .... –

0

Поместите эту строку в ваше время цикла -

obj = new JSONObject(); 
+0

Thank. Он работает –

+0

вы можете принять его как ответ, если он работает. –

Смежные вопросы