Articles of gson

Сериализация SparseArray <T> с помощью GSON

Я хочу, чтобы сериализовать пользовательский объект Java, поэтому я могу использовать SharedPreferences для его сохранения и отыскать его в другом Activity. Мне не нужно постоянное хранилище, SharedPreferences , я уничтожаю их, когда мое приложение закрыто. В настоящее время я использую GSON для этого, но, похоже, он не работает с типом SparseArray от Android. Мои объекты: […]

Невозможно разобрать массив Json с использованием Gson

У меня есть этот массив json: [ { "id":18, "city":"הרצליה", "street":"החושלים 1", "zipcode":121209, "state":"IL", "lat":32.158138, "lng":34.807838 }, { "id":19, "city":"הרצליה", "street":"אבא אבן 1", "zipcode":76812, "state":"IL", "lat":32.161041, "lng":34.810410 } ] И у меня есть этот класс для хранения данных: public class MapData { private int id; private String city; private String street; private String state; private […]

Считывать и записывать данные с помощью GSON

Я изо всех сил пытаюсь найти хороший пример того, как читать и записывать данные в моем приложении Android с помощью GSON. Может ли кто-нибудь, пожалуйста, показать мне или указать на хороший пример? Я использую это для сохранения данных между действиями. Мой профессор дал этот пример для написания: Vector v = new Vector(10.0f, 20.0f); Gson gson […]

Создать объект из строки Gson не работает

Я хочу передать объект в связку. Теперь я сделал преобразование в объект Json с помощью GSON. Пакет передан, пакет имеет правильное строковое представление, но когда я создаю объект из строки, я получаю огромную ошибку. FATAL EXCEPTION: main java.lang.RuntimeException: Failed to invoke private android.net.Uri() with no args at com.google.gson.internal.ConstructorConstructor$3.construct(ConstructorConstructor.java:107) at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:162) at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.read(ReflectiveTypeAdapterFactory.java:93) at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:172) at […]

Создать TypeToken для аргумента типа общего супер-типа

Я внедряю Gson TypeAdapter для двух зависимых общих моделей. interface ModelA<T> {} interface ModelB<T> extends ModelA<List<T>> {} Для этого мне нужно получить TypeToken и TypeAdapter . При выполнении Type type = ((ParameterizedType) type).getActualTypeArguments()[0]; TypeToken<?> token = TypeToken.get(type); TypeAdapter<?> adapter = gson.getAdapter(token); Я получаю маркер типа для обеих моделей любого типа AnyType и корреляционного адаптера. Это […]

Gson десериализует вложенные объекты с помощью InstanceCreator

У меня есть класс с именем PageItem , который имеет конструктор, который принимает параметр Context как параметр: PageItem(Context context) { super(context); this.context = context; } PageItem обладает следующими свойствами: private int id; private String Title; private String Description; public Newsprovider newsprovider; public Topic topic; Newsprovider и Topic являются другими классами моего приложения и имеют следующие […]

Java.lang.RuntimeException: Не удалось вызвать public com.example.syncapp.MessageBase () без аргументов

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println(request.getParameter("msg").toString()); String data = request.getParameter("msg").toString(); Gson gson = new Gson(); MessageBase msggg = gson.fromJson(data, MessageBase.class); //System.out.println(msggg.Id + msggg.MessageText); } public abstract class MessageBase implements Serializable { public int Id; public String MessageText; public Date ReceiveDate; } public class SyncSmsMessage extends MessageBase { public String SenderNum; […]

Настройте Gson для использования нескольких форматов даты

Я теперь, когда хочу сказать gson, как разбирать даты, я делаю: Gson gson= new GsonBuilder().setDateFormat("yyyy-MM-dd hh:mm").create(); Но у меня есть поля только с датой, а другие – только время, и я хочу, чтобы оба они были сохранены как объекты Date. Как я могу это сделать?

Использование GSON для анализа объекта json vs json array

У меня есть JSON, который является либо единственным объектом, либо массивом одного и того же объекта. Есть ли способ проанализировать эти данные с помощью Gson, где он будет отличать один объект от массива? Единственное решение, которое я имею в настоящее время для этого, – это вручную разобрать json и surround, с помощью try catch. Сначала […]

Gson 2.2.2, вызывающий переполнение стека только на 4.2.1

Я разрабатываю приложение для Android, которое загружает точки интереса с сервера, используя строки JSON. Все работает нормально, но с тех пор, как я начал тестировать на 4.2.1, я получаю следующую ошибку: 01-28 15:32:14.167: E/AndroidRuntime(31174): FATAL EXCEPTION: AsyncTask #1 01-28 15:32:14.167: E/AndroidRuntime(31174): java.lang.RuntimeException: An error occured while executing doInBackground() 01-28 15:32:14.167: E/AndroidRuntime(31174): at android.os.AsyncTask$3.done(AsyncTask.java:299) 01-28 15:32:14.167: […]