2014-10-09 3 views
0

Я нашел несколько подобных проблем здесь и в google, но ничего похожего на мою проблему.gson.fromJson (string) не разобрал: ожидал BEGIN_OBJECT, но был STRING в строке 1 столбец 432

здесь является JSON возвращается с сервера:

"{ 
\"user\": 
    {\"user_id\":19, 
    \"user_name\":\"John Doe\", 
    \"user_token\":\"1412869773.19\", 
    \"profile_pic\":\"https://graph.facebook.com/12345/picture?type=large\", 
    \"number_of_creds\":650, 
    \"level\":10, 
    \"is_new_user\":false, 
    \"is_display\":false, 
    \"gender\":\"male\", 
    \"zip\":\"05405\", 
    \"age\":39, 
    \"numberOfCreditsEarned\":0}, 
\"success\":true, 
\"message\":\"\", 
\"extraParameter\":null, 
\"user_token\":null 
}" 

и вот объект, который я пытаюсь сопоставить его:

public class NetworkUserLoginResponseModel { 
    public UserModel user; 
    public Boolean success; 
    public String message; 
    public String extraParameter; 
    public String user_token; 
} 

это из-за побегов на кавычки()?

Могу ли я сопоставить строку JSON со встроенным объектом?

ТИА

+0

Да. Без кавычек это должно работать. Ты это пробовал? –

ответ

0

Проблема возникает из цитат, присутствующих в ответе сервера, с последним это не является допустимым JSON.

Чтобы проверить JSON строку, которую вы можете использовать: jsonlint

без кавычек, Gson успешно разобрать JSON строку в объект NetworkUserLoginResponseModel

+0

Мне пришлось удалить начальную и конечную цитаты, а также escape-последовательности (\) ... затем она разобралась. Благодарю. –