Вы должны перезаписать весь файл, так что лучше использовать отдельный файл для вашего плеера.
Как это player.json
{
"gold":100,
"diamonds":100,
"username":"placeholder"
}
А Player.java
public class Player {
public int gold;
public int diamonds;
public String username;
}
Используйте приведенный ниже код, который будет изменять и сохранять данные в файл json.
Json json = new Json();
FileHandle file = Gdx.files.local("player.json");
Player player = file.exists()? json.fromJson(Player.class,file) : new Player();
player.gold=300; // modify player data
save(player,file);
После этого вызовите метод сохранения, указанный ниже:
private void save(Player player, FileHandle file) {
Json json = new Json();
json.setTypeName(null);
json.setUsePrototypes(false);
json.setIgnoreUnknownFields(true);
json.setOutputType(JsonWriter.OutputType.json);
String txt = json.toJson(player);
file.writeString(json.prettyPrint(txt), false);
}