2017-08-08 145 views
0

我发现这个错误很多主题,但我没有找到任何解决方案... 希望你们其中一个可以帮我解决这个问题。

我有一个问题,从文本文件解析一个JSON到一个Java对象。

我读的文件,我想将它们转换为使这里的对象是代码:

private ArrayList<Game> gameList; 
for (File file : gamesFolder.listFiles()) { 
      BufferedReader br = new BufferedReader(new FileReader(file)); 
      //Line below is where it crash 
      Game game = new Gson().fromJson(br, Game.class); 
      this.gameList.add(game); 
} 

我的游戏类:

public class Game { 

    private Integer id; 
    private String game; 
    private List<String> items; 

    public Integer getId() { return id; } 
    public void setId(Integer id) { this.id = id; } 

    public String getGame() { return game; } 
    public void setGame(String game) { this.game = game; } 

    public List<String> getItems() { return items; } 
    public void setItems(List<String> items) { this.items = items; } 
} 

最后的json:

{ 
    "id": 730, 
    "game": "Counter-Strike: Global Offencive", 
    "items": [ 
    "Clé de caisse spectrale", 
    "Caisse spectrale", 
    "AWP | Asiimov" 
    ] 
} 

感谢您的帮助!

+0

调试此代码,但确保'文件'实际上是包含上述json的文件 - 添加'System.out.println(文件);' –

+0

是的文件是好的,我实例化gamelist在我的构造器中,但我没有看到它 – tontonfranki

回答

0

我终于找到答案!

问题是,当我可以读取文件中的JSON。它不是UTF-8,所以输出很奇怪。

解决这个问题。我改变了缓冲线。

BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(file), "UTF8")); 
Game game = new Gson().fromJson(br, Game.class); 

Thnx!

相关问题