我在我的播放框架应用程序中使用FlexJson但是在我试图解除json字符串的时候它会抛出java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Boolean
:
User user = new JSONDeserializer<User>()
.use(null, User.class).deserialize(body);
Body是使用标准jquery / ajax传入控制器的json字符串 User声明了以下布尔值:
public Boolean isCurrentUser;
关于我做错了什么的想法?
由于
答案 0 :(得分:1)
在Json中,Boolean是一种类型。你的JSon是:
{"user_id":"18","isCurrentUser":"true","title":"mr","description":"description"}
应该是:
{"user_id":"18","isCurrentUser":true,"title":"mr","description":"description"}
请注意, true 不是String,而是布尔值。解析器失败,因为它找到String而不是预期的布尔类型。修复JSon生成以添加布尔值,而不是String。