我有一个类,我正在尝试解析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);
这背后的原因是什么?我该如何解决?
谢谢。
答案 0 :(得分:1)
我的猜测是该文件不包含与txt
字符串相同的文件。看一下这个消息,看起来这个文件可能在开头有一个stray String而不是一个它所期待的对象。示例String中的对象是{
,或者换句话说是哈希,地图或字典。如果你println
文件的内容到命令行,我希望它没有完全相同的字符。