Memcache Сериализуемый JSONObject? - PullRequest
1 голос
/ 04 мая 2011

Я использую json.org JSONObject.Я попытался сериализовать его в memcache и получил не очень крутой java.io.NotSerializableException: org.json.JSONObject.Глядя на код JSONObject , кажется, что это не что иное, как карта, обернутая логикой JSON.Почему бы тогда не сделать его сериализуемым?

Я бы хотел сохранить объект в memcache в удобном интерфейсе.Существует ли аналогичная реализация API JSONObject, которая также сериализуема.В качестве альтернативы, какую методику сериализации / десериализации можно использовать в memcache?

Спасибо, Максим.

Ответы [ 3 ]

5 голосов
/ 04 мая 2011

JSONObject s должны быть отправлены в виде простых строк. Таким образом, вместо того, чтобы хранить сериализованную форму Java ваших JSONObject s, вы должны хранить строковые формы.

3 голосов
/ 04 мая 2011

если вы используете org.json.JSONObject, он не реализует интерфейс Serializable.По этой причине он не может быть сериализован.Вместо этого вы можете поместить строковую версию JSONObject в MemCache.

1 голос
/ 04 мая 2011

Я обнаружил, http://code.google.com/p/json-simple/ - API-совместимая реализация org.json.JSONObject.Он не имеет всех методов getDouble, getLong, getJSONArray, но отличается тем, что концепции в значительной степени совпадают.

Превосходит реализацию org.json тем, что просто расширяет HashMap для JSONObject и ArrayList для JSONArray, делая эти объекты по определению сериализуемыми и, следовательно, кэшируемыми.

...