天天看点

Java Gson json字符串解析异常

在使用Gson.fromJson()方法对字符串进行解析得时候,明明字符串格式是正确的,但是经常会遇到如下得异常:

Caused by: java.lang.IllegalStateException: Expected a string but was BEGIN_OBJECT at line 1 column 19 path $.msg

出现类似异常得原因往往是由于:json字符串与目标bean的属性对应错误。例如:

java bean

class TargetObject{

private String name;

private Object targetObject;

getter/setter......

}

json字符串:String ostr = {"name":"Tom",targetObject:""}

在这种情况下用fromJson(ostr, TargetObject.class)进行解析时就会报错,因为targertObject 应该是一个对象,不是字符串。

总结:在进行json字符串转换时,json字符转语法格式正确的情况下,字符串的格式要与目标对象属性类型一致,否则就会报错。