我在我的play框架应用程序中使用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和其中User声明了以下布尔值:
public Boolean isCurrentUser;
关于我做错了什么有什么想法吗?
感谢
在Json中,Boolean是一种类型。您的JSon是:
{"user_id":"18","isCurrentUser":"true","title":"mr","description":"description"}
应该在什么时候:
{"user_id":"18","isCurrentUser":true,"title":"mr","description":"description"}
请注意,true不是字符串,而是布尔值。解析程序失败,因为它找到的是String而不是预期的布尔类型。修复了生成JSon以添加布尔值而不是字符串的问题。