Skip to content

Instantly share code, notes, and snippets.

@Terkea
Last active May 25, 2019 19:04
Show Gist options
  • Save Terkea/506156bed0e8785f21634971d97c446f to your computer and use it in GitHub Desktop.
Save Terkea/506156bed0e8785f21634971d97c446f to your computer and use it in GitHub Desktop.
JSON java tableview
package app.model;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import java.io.*;
import java.util.ArrayList;
import java.util.List;
public class SavefileJSON {
private static final String JSONFILEPATH = "savefiles.json";
public void addSavefile(Savefile sf){
ObjectMapper mapper = new ObjectMapper();
File file = new File(JSONFILEPATH);
try {
List<Savefile> tests = mapper.readValue(file, new TypeReference<List<Savefile>>(){});
tests.add(sf);
mapper.writerWithDefaultPrettyPrinter().writeValue(file, tests);
} catch (IOException e) {
e.printStackTrace();
}
}
public static ObservableList<Savefile> getAllSavefiles(){
ObjectMapper mapper = new ObjectMapper();
File file = new File(JSONFILEPATH);
try {
List<Savefile> serverfiles = mapper.readValue(file, new TypeReference<ArrayList<Savefile>>(){});
return FXCollections.observableList(serverfiles);
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
public static Savefile getSavefile(String name){
ObjectMapper mapper = new ObjectMapper();
File file = new File(JSONFILEPATH);
try {
List<Savefile> serverfiles = mapper.readValue(file, new TypeReference<List<Savefile>>(){});
for (Savefile entry : serverfiles){
if (entry.getName().equals(name)){
Savefile sf = new Savefile();
sf.setName(entry.getName());
sf.setDate(entry.getDate());
return sf;
}
}
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment