В настоящее время я могу получить данные JSON из https://jsonplaceholder.typicode.com/albums
.
. На данный момент я могу проанализировать данные json и вызвать каждое их поле. JSON включает поля id, userId, title
. В моем коде я объявляю их ниже
int id,userId
String title
и это текущий вывод
Теперь я пытаюсь поместить эти значения в FXML file
для моего Home.fxml
в моем табличном представлении есть столбцы id,userId,title
, а в этих столбцах - fx:id
из
field1, field2, field3
Вот f xml
и fx:id
из TableView
равно fx:id="tableView"
Что я хочу попробовать, это поместить проанализированные данные JSON в представление таблицы. Но я понятия не имею, как я могу разместить их все.
Мои Main
коды файлов
public class Main extends Application {
private static HttpURLConnection connection;
@Override
public void start(Stage primaryStage) throws Exception{
BufferedReader reader;
String line;
StringBuffer responseContent = new StringBuffer();
try {
URL url = new URL("https://jsonplaceholder.typicode.com/albums");
connection = (HttpURLConnection) url.openConnection();
// Request Setup
connection.setRequestMethod("GET");
connection.setConnectTimeout(5000);
connection.setReadTimeout(5000);
int status = connection.getResponseCode();
if (status > 299){
reader = new BufferedReader(new InputStreamReader(connection.getErrorStream()));
} else {
reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
}
while((line = reader.readLine()) != null){
responseContent.append(line);
}
reader.close();
parse(responseContent.toString());
}
catch (MalformedURLException e){
e.printStackTrace();
}
catch (IOException e){
e.printStackTrace();
} finally{
connection.disconnect();
}
Scene scene = new Scene(FXMLLoader.load(getClass().getResource("Home.fxml")));
primaryStage.setScene(scene);
primaryStage.setTitle("Home");
primaryStage.show();
}
public static String parse(String responseBody){
JSONArray albums = new JSONArray(responseBody);
for (int i = 0; i < albums.length(); i++){
JSONObject album = albums.getJSONObject(i);
int id = album.getInt("id");
int userId = album.getInt("userId");
String title = (String) album.get("title");
System.out.println(id + " | " + title + " | " + userId);
}
return null;
}
public static void main(String[] args) { launch(args); }
}