记录今天在读取数据的时候遇到的一个问题:
com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected a string but was BEGIN_ARRAY at line 1 column 233 path $[3].values[0].value。
首先debug一下,但是显示是在future.get()的时候执行下一步就异常了,这是因为,使用了一个线程池执行了任务,没有在主线程上执行。
所以下一步就是本地使用Junit4单元测试那个任务,这时候在执行下面这行语句时出现异常:
1 EntryHierarchy[] entryHierarchy = new Gson().fromJson(text,EntryHierarchy[].class);
这时候就很明显了,是text的内容和EntryHierachy不相符,text里面的某个字段类型是数组,EntryHierachy是String,就会报这个错误了,其他类似的错误,也可以debug,看看传入的json字符串类型是不是和定义的类相同。