Gson成功从变量解析但不从文件解析

时间:2014-03-03 20:16:25

标签: android json file gson

我有一个类,我正在尝试解析JSON字符串以实例化该类。这是代码和json文件:

JSON:

{'walk': ['walk_1','walk_2'], 'jump': ['jump']}

类别:

import java.util.ArrayList;

public class AnimationSheet {

    public ArrayList<String> walk, jump;

}

功能

Gson json = new Gson();
sheet = json.fromJson(jsonFile, AnimationSheet.class);

但它给出了这个错误:

Exception in thread "LWJGL Application" com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1

但如果我从变量解析它,它会成功解析,如下所示:

Gson json = new Gson();
String txt = "{'walk': ['walk_1','walk_2'], 'jump': ['jump']}";
sheet = json.fromJson(txt, AnimationSheet.class);

这背后的原因是什么?我该如何解决?

谢谢。

1 个答案:

答案 0 :(得分:1)

我的猜测是该文件不包含与txt字符串相同的文件。看一下这个消息,看起来这个文件可能在开头有一个stray String而不是一个它所期待的对象。示例String中的对象是{,或者换句话说是哈希,地图或字典。如果你println文件的内容到命令行,我希望它没有完全相同的字符。