2

我在我的播放框架应用程序中使用 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;

关于我做错了什么的任何想法?

谢谢

4

1 回答 1

1

在 Json 中,布尔值是一种类型。你的 JSON 是:

{"user_id":"18","isCurrentUser":"true","title":"mr","description":"description"} 

什么时候应该:

{"user_id":"18","isCurrentUser":true,"title":"mr","description":"description"} 

请注意,true不是字符串,而是布尔值。解析器失败,因为它找到了一个字符串而不是预期的布尔类型。修复 JSON 生成以添加布尔值,而不是字符串。

于 2012-02-14T10:40:42.133 回答