Обратите внимание, что GSON с десериализацией интерфейса приведет к исключению, как показано ниже.
"java.lang.RuntimeException: Unable to invoke no-args constructor for interface XXX. Register an InstanceCreator with Gson for this type may fix this problem."
Пока десериализация;GSON не знает, какой объект должен быть реализован для этого интерфейса.
Это решается каким-то образом здесь .
Однако FlexJSON имеет это решениепо своей сути.во время сериализации он добавляет имя класса как часть json, как показано ниже.
{
"HTTPStatus": "OK",
"class": "com.XXX.YYY.HTTPViewResponse",
"code": null,
"outputContext": {
"class": "com.XXX.YYY.ZZZ.OutputSuccessContext",
"eligible": true
}
}
Так что JSON будет немного перегружен;но вам не нужно писать InstanceCreator
, что требуется в GSON.