Как динамически вставить данные из файла Json в JTable? - PullRequest
0 голосов
/ 17 апреля 2019

Я довольно новичок в Java.У меня есть файл JSON, который необходимо динамически вставить в JTable.

Сначала я скопировал данные файла JSON в строку, а затем проанализировал данные файла JSON.Это то, что я делал до сих пор

Мой JSON-файл

{
  "users": [
    {
      "fname": "John",
      "lname": "Snow",
      "dob": "09/08/1997",
      "phone": "01458745236",
      "password": "admin",
      "cpassword": "admin",
      "email": "jhonsnow@gmail.com",
      "id": "johnsnow007"
    },
    {
      "fname": "Arya",
      "lname": "Stark",
      "dob": "02/12/1990",
      "phone": "1458562366254",
      "password": "12345",
      "cpassword": "12345",
      "email": "aryastark@gmail.com",
      "id": "aryastark12"
    }
  ]
}

Это то, что я делал до сих пор

  try{

        File file = null;
        JFileChooser chooser = new JFileChooser("C:/Users/768970/Desktop/Databases");

        chooser.setAcceptAllFileFilterUsed(false); 
        FileNameExtensionFilter restrict = new FileNameExtensionFilter("Only .json files", "json"); 
        chooser.addChoosableFileFilter(restrict);

        int result = chooser.showOpenDialog(table);
        if(result == JFileChooser.APPROVE_OPTION) {
            file = chooser.getSelectedFile();

            BufferedReader br = new BufferedReader(new FileReader(file));
            String everything = "";
            try {

                StringBuilder sb = new StringBuilder();
                String line = br.readLine();

                while (line != null) {
                    sb.append(line);
                    sb.append(System.lineSeparator());
                    line = br.readLine();

                }
                everything = sb.toString();

            }finally {
                br.close();
            }

            JSONObject jsonObject = new JSONObject(everything); 

            Set<String> keys =jsonObject.keySet();
            for(String key:keys) {
                System.out.println(jsonObject.get(key));
            }





        }else{
            JOptionPane.showMessageDialog(null, "Operation is CANCELLED :(");
        }
    }catch(Exception e){
        e.printStackTrace();
    }

Фактический вывод такой:код выше

[{"fname": "John", "lname": "Snow", "dob": "09/08/1997", "phone": "01458745236", "password": "admin", "cpassword": "admin", "email": "jhonsnow@gmail.com", "id": "johnsnow007"}, {"fname": "Arya", "lname": "Stark", "dob": "12.02.1990", "phone": "1458562366254", "password": "12345", "cpassword": "12345", "email": "aryastark@gmail.com", "id ":" aryastark12 "}]

но я ожидаю того же в виде JTable

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...