2015-08-04 2 views
0

Итак, я получаю json из веб-сервиса:Как десериализовать json из сериализованной веб-службы с помощью Android?

[{"id": 1, "Home": {"id": 11, "homtype": {"id": 4, "name" : «2-комнатная»}, «изображение»: [71,73,70,56,57,97,200,0,200,0,247,0,0,0,0,0,0,0,51,0,0,102,0 , 0,153,0,0,204,0,0,255,0,43,0,0,43,51,0,43,102,0,43,153,0,43,204,0,43,255,0,85,0,0,85,51 , 0, ..]}]

Этот json сериализуется уже на стороне веб-службы. То, что я хотел бы получить, это массив байтов изображения в моем приложении для Android, но мне нужно десериализовать строку json сначала в моем андроиде. Я могу получить строку json, но как ее десериализировать?

+0

Проверьте это http://stackoverflow.com/questions/15060514/deserializing-a-json-object-with-multiple-items-inside-it –

ответ

0

Вы можете десериализацию объекта JSON из строки с JSONArray или классом JSONObject, как это:

JSONArray jsonArray = new JSONArray(jsonString); 

Но если обрабатывать огромные объекты данных я рекомендую вам использовать библиотеки потока десериализации, например Jackson Streaming API

+0

Да, я уже пытался использовать JSONObject, но не смог получить все мои данные. Если я использую Джексона, не нужно ли сначала его сериализовать? Я не могу десериализировать это прямо сейчас? – user3283034

+0

Какие данные вы не можете получить с помощью JSONObject? Jackson работает с данными, сериализованными в строке JSON. Но вы должны написать свой собственный код для обработки токенов JSON для объектов, которые вы хотите. –

+0

Я хочу получить все данные изображения, такие как [71,73,70,56,57,97, ...., 0,59], но я получаю определенную длину, когда пытаюсь преобразовать его в массив байтов Я получаю [B @ 1a7b0da4, который не является полным. – user3283034

Смежные вопросы