2012-02-05 1 views
2

Я использую FlexJson в моем рамочных играх приложения, но в точке я пытаюсь deseralize строки JSON он бросает java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Boolean:FlexJSON - JSONDeserializer Строка не может быть кастой, как булевы

User user = new JSONDeserializer<User>() 
     .use(null, User.class).deserialize(body); 

Тела строки JSON передается в контроллер с помощью стандартного Jquery/Ajax и , где пользователь имеет следующее логическое значение заявил:

public Boolean isCurrentUser; 

Любые идеи относительно того, что я делаю неправильно?

Благодаря

+0

Не могли бы вы приложить строку Json, которую вы пытаетесь десериализовать? –

+0

Привет, строка json: {"user_id": "18", "isCurrentUser": "true", "title": "mr", "description": "description"} – Chahal

ответ

1

В Json, Boolean тип. Ваш JSon является:

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

, когда он должен быть:

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

Обратите внимание, что истинный не String, а логическое значение. Парсер терпит неудачу, потому что он находит строку вместо ожидаемого булевского типа. Исправьте генерацию JSon, чтобы добавить логическое значение, а не строку.

+0

aha, это имело бы смысл. я дам этот пробег. благодаря – Chahal