Гсон отделить работающий? - PullRequest
0 голосов
/ 22 ноября 2011

Кто-нибудь знает, как отделить объект Runnable с помощью Gson's Instance Creator?

Спасибо, Кевин

1 Ответ

2 голосов
/ 22 ноября 2011

Как уже упоминалось, функция Instance Creator предназначена для десериализации, а не сериализации.Кроме того, использование Instance Creator для десериализации Runnable необязательно.

Ниже приведен пример использования Gson для сериализации и десериализации экземпляра Runnable.

import com.google.gson.Gson;

public class GsonFoo
{
  public static void main(String[] args)
  {
    BarRun runRunRun = new BarRun();
    runRunRun.name = "Whiskey";
    runRunRun.state = 42;

    String json = new Gson().toJson(runRunRun);
    System.out.println(json);
    // output: {"name":"Whiskey","state":42}

    BarRun runCopy = new Gson().fromJson(json, BarRun.class);
    System.out.println(runCopy.name); // Whiskey
    System.out.println(runCopy.state); // 42
  }
}


class BarRun implements Runnable
{
  String name;
  int state;

  @Override
  public void run()
  {
    // do something useful
  }
}

ЕслиЧто-то о том, чего вы пытаетесь достичь, требует использования Instance Creator, затем обратите внимание, что примеры доступны в разделе руководства пользователя Gson по теме , а также в InstanceCreator JavaDocs .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...