Articles of gson

Каков самый быстрый способ разбора строки JSON в таблице SQLite?

Я пишу приложение для Android, которое иногда должно загружать json-строку около 1 МБ и содержать около 1000 элементов и анализировать каждую из них в базе данных SQLite, которую я использую для заполнения ListActivity. Несмотря на то, что загрузка и синтаксический анализ не являются чем-то, что нужно делать при каждом взаимодействии с приложением (только при первом […]

Android – сохранить в файл данные Parcelable

Я использовал объекты Serializable для сохранения их в файле и читал их, чтобы делать все, что захочу. Но сериализация происходит медленно, когда вам нужно передавать данные между действиями, поэтому я читаю, чем рекомендуется использовать Parcelable. Тогда я сделал это, и да, это быстрее! Но теперь у меня есть небольшая проблема. Поскольку Parcelable оптимизирован для IPC, […]

RoboSpice с Gson и королевством

Я использую RoboSpice с GsonSpringAndroidSpiceService. Я также хочу добавить Realm для сохранения данных. Проблема в том, что в области каждый объект должен расширять объект realmObject, но gson в roboSpice пытается проанализировать объект realmObject, а не игнорировать его. Я попытался добавить стратегию исключения: Gson gson = new GsonBuilder() .setExclusionStrategies(new ExclusionStrategy() { @Override public boolean shouldSkipField(FieldAttributes f) […]

Использование Volley и Gson: список элементов и список элементов

Единственное, что мне никогда не нравилось в Gson, это тот факт, что вам нужно передать объект Class или TypeToken на основе того, будет ли вы получать элемент или список элементов. Теперь, пытаясь использовать Volley с Gson, эта проблема сохраняется, и я пытаюсь создать класс GsonRequest, который можно использовать для обеих вещей. Мое решение довольно уродливое, […]

IncompatibleClassChangeError com.google.gson.annotations.SerializedName.value

Мы получаем IncompatibleClassChangeError в устройстве Samsung, когда пользователь обновляет приложение из Play Маркета. Пожалуйста, проверьте ниже журнал. java.lang.IncompatibleClassChangeError: Couldn't find com.google.gson.annotations.SerializedName.value at libcore.reflect.AnnotationAccess.toAnnotationInstance(AnnotationAccess.java:659) at libcore.reflect.AnnotationAccess.toAnnotationInstance(AnnotationAccess.java:641) at libcore.reflect.AnnotationAccess.getDeclaredAnnotation(AnnotationAccess.java:170) at java.lang.reflect.Field.getAnnotation(Field.java:242) at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getFieldName(ReflectiveTypeAdapterFactory.java:71) at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getFieldName(ReflectiveTypeAdapterFactory.java:67) at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:142) at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:83) at com.google.gson.Gson.getAdapter(Gson.java:359) at com.google.gson.Gson.fromJson(Gson.java:809) at com.google.gson.Gson.fromJson(Gson.java:775) at com.google.gson.Gson.fromJson(Gson.java:724) at com.google.gson.Gson.fromJson(Gson.java:696) at com.cubii.utils.SessionManager.getUserID(SessionManager.java:70) at com.cubii.BluetoothLeService.broadcastUpdate(BluetoothLeService.java:188) at com.cubii.BluetoothLeService.access$400(BluetoothLeService.java:47) at com.cubii.BluetoothLeService$1.onCharacteristicChanged(BluetoothLeService.java:139) […]

Десериализация GSON с типичными типами и именами общих полей

Допустим, у нас есть такая структура: JSON: { "body": { "cats": [{ "cat": { "id": 1, "title": "cat1" } }, { "cat": { "id": 2, "title": "cat2" } }] } } И соответствующие POJO: Response.class private final Body body; Body.class private final Collection<CatWrapper> cats CatWrapper.class private final Cat cat Cat.class private final int id; private […]

Gson deserialize json с различными типами значений

Я пытаюсь десериализовать JSONArray с Gson, один тип значений может меняться, значение «in_wanted» может быть либо boolean либо JSONObject . In_wanted как boolean : { "movies": [ { "title": "example boolean", "in_wanted": false } ] } In_wanted как JSONObject : { "movies": [ { "title": "example object", "in_wanted": { "profile": { "value": false } } […]

Дублирование записи Google Gson

Моя ошибка: Error:Execution failed for task ':app:packageAllDebugClassesForMultiDex'. > java.util.zip.ZipException: duplicate entry: com/google/gson/annotations/Expose.class Я пытаюсь использовать Stripe и интегрировать его с модификацией. У меня есть файл Stripe lib build.gradle и файл build.gradle приложения. Я не вижу, что вызывает эту ошибку, и мне нужна зависимость в файлах build.gradle, потому что они используют Stripe и Retrofit. App build.gradle: […]

Как преобразовать объект JSONObject в объект класса?

Мне нужно преобразовать JSONObject в объект Location, используя библиотеки gson для моего андроида. Я не уверен, как это сделать. Кто-нибудь может мне с этим помочь. Заранее спасибо. У меня код вроде как JSONArray input = new JSONArray(extras.getString("loc_json")); Я хотел преобразовать JSONObject, взятый из JSONArray, в объект класса Location. Я просто хотел знать, есть ли функция, […]

Gson deserialize null указатель в выпущенном apk

Я пишу приложение для Android, используя gson для десериализации строки json: { "reply_code": 001, "userinfo": { "username": "002", "userip": 003 } } Поэтому я создаю два класса: public class ReturnData { public String reply_code; public userinfo userinfo; } public class userinfo { public String username; public String userip; } Наконец, мой Java-код в MainActivity.java: @Override […]