Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
zesen
122 / 85 / 2
Регистрация: 17.10.2010
Сообщений: 436
#1

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

09.01.2012, 15:33. Просмотров 1026. Ответов 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 код
Имеется код, пересылка осуществляется в формате json, а обработка строк...

Gson time parsing
Всем привет. Сервер возращает поле 'Time' создержанее время в формате...

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

Как перейти на главную activity
как перейти на главную страницу приложения обратно? (с другого активити)...

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

Jackson Parser не работает как надо
Всем привет! Кто может сказать - почему Jackson парсер моей реализации...

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

Как изменить поведение GSON парсера?
Доброго дня. Есть JSON, которым с помощью GSON заполняется модель, создаю...

Jackson and Enums
Есть несколько Enumов типа такого public enum PaymentStatus { QUEUED,...

Комплексный json - ответ в spring boot используя jackson
Пишу spring mvc. Для отправки json использую view с полями id, name, phone. И...

как на паскале сделать "перейти к следуючему" "перейти к предыдучему"
Написать проогррамму в которой описывается массив записей ,хранящий следующую...


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

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

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