Я довольно новичок в 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