С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
zesen
122 / 85 / 1
Регистрация: 17.10.2010
Сообщений: 436
#1

Как перейти с GSON на JACKSON - Программирование Android

09.01.2012, 15:33. Просмотров 993. Ответов 0
Метки нет (Все метки)

Как перейти с GSON на JACKSON. Вот так было gson:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
 public class MyGsonWrapper
    {
    public static Gson getMyGson()
    {
    GsonBuilder gsonBuilder = new GsonBuilder();
 
    gsonBuilder.registerTypeAdapter(Date.class, new GsonDateSerializer());
    gsonBuilder.registerTypeAdapter(Date.class, new GsonDateDeserializer());
 
    gsonBuilder.registerTypeAdapter(byte[].class, new GsonByteArraySerializer());
 
    return gsonBuilder.create();
}
 
static class GsonDateDeserializer implements JsonDeserializer<Date>
{
    public Date deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException
    {
        String s = json.getAsString().replace("/Date(", "").replace(")/", "");
 
        .......
        .......
 
    }
}
 
static class GsonDateSerializer implements JsonSerializer<Date>
{
    public JsonElement serialize(Date date, Type typeOfT, JsonSerializationContext context)
    {
        return new JsonPrimitive("/Date(" + date.getTime() + ")/");
    }
}
 
static class GsonByteArraySerializer implements JsonSerializer<byte[]>
{
    public JsonElement serialize(byte[] data, Type typeOfT, JsonSerializationContext context)
    {
        return new JsonPrimitive(Base64.encodeBytes(data));
    }
}
вот, наверное, как это приблизительно на jackson будет:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
public class MyJsonWrapper
   {
 
    public static ObjectMapper getMyJson()
   {
    ObjectMapper mapper = new ObjectMapper();
 
    SimpleModule module = new SimpleModule("MyModule", new Version(1, 0, 0, null));
 
    module.addKeySerializer(Date.class, new JsonDateSerializer());
    module.addDeserializer(Date.class, new JsonDateDeserializer());
 
    module.addSerializer(byte[].class, new JsonByteArraySerializer());
 
    mapper.registerModule(module);
 
    return mapper;
}
 
static class JsonDateDeserializer implements JsonDeserializer<Date>
{
    public Date deserialize(JsonParser json, Type typeOfT, DeserializationContext context) throws JsonMappingException
    {
        String s = json.getAsString().replace("/Date(", "").replace(")/", "");
 
        ......
        ......
    }
}
 
static class JsonDateSerializer implements JsonSerializer<Date>
{
    public JsonElement serialize(Date date, Type typeOfT, Serializers context)
    {
        return new JsonPrimitive("/Date(" + date.getTime() + ")/");
    }
}
 
static class JsonByteArraySerializer implements JsonSerializer<byte[]>
{
    public JsonParser serialize(byte[] data, Type typeOfT, Serializers context)
    {
        return new JsonPrimitive(Base64.encodeBytes(data));
    }
}
 
}
Вопросы в следующем:

static class JsonDateDeserializer implements JsonDeserializer<Date> среда выдает следующую ошибку Class 'JsonDateDeserializer' must either be declared abstract or implement abstract method 'deserialize(JsonParser, DeserializationContext)' in 'JsonDeserializer'
На что заменить в String s = json.getAsString().replace getAsString()?
На что заменить в public JsonElement serialize на JsonParser можно?
На что заменить в 'return new JsonPrimitive' JsonPrimitive
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.01.2012, 15:33
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как перейти с GSON на JACKSON (Программирование Android):

Как перевести с gson на json код - Программирование Android
Имеется код, пересылка осуществляется в формате json, а обработка строк стандартной библиотекой gson. Помогите, пожалуйста, перевести код...

Gson time parsing - Программирование Android
Всем привет. Сервер возращает поле 'Time' создержанее время в формате HH:mm:ss, например, 12:00:00. Создав объект gson Gson...

В чем преимущество использования библиотеки GSON перед стандартными средствами парсинга JSON? - Программирование Android
В чем преимущество использования библиотеки GSON перед JSONObject JSONArray то есть перед стандартными средствами парсинга JSON ??

Как перейти на главную activity - Программирование Android
как перейти на главную страницу приложения обратно? (с другого активити) &lt;activity android:name=&quot;.main.MainActivity&quot; ...

Как при нажатии на пункт ListView перейти на другую форму - Программирование Android
Здравствуйте! У меня возникла проблема при работе с ListView. Суть проблему заключается в следующем при нажатии одного из пункта нужно...

Jackson Parser не работает как надо - Java SE
Всем привет! Кто может сказать - почему Jackson парсер моей реализации собирает null значения из json фалйа? Класс парсера: ...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.01.2012, 15:33
Привет! Вот еще темы с ответами:

Как изменить поведение GSON парсера? - Java
Доброго дня. Есть JSON, которым с помощью GSON заполняется модель, создаю экземпляр класса. В JSON'е есть поле &quot;field1&quot;, это строка. А...

Jackson and Enums - Java EE
Есть несколько Enumов типа такого public enum PaymentStatus { QUEUED, PROCESSED; } Есть pojo, в котором есть поля, заданные...

как на паскале сделать "перейти к следуючему" "перейти к предыдучему" - Turbo Pascal
Написать проогррамму в которой описывается массив записей ,хранящий следующую информацию :ФИО сотрудника.подразделение ,оклад .Программа...

Gson - Java
Здравствуйте. Пишу курсач на java, параллельно изучаю её. Стал использовать Gson, но натолкнулся на проблему с получением из json...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.