我正在使用json.org JSONObject。我已经尝试将其序列化为memcache并且不那么酷java.io.NotSerializableException: org.json.JSONObject
。看看JSONObject code,它似乎只不过是一个由JSON逻辑包装的Map。为什么不让它可串行呢?
我希望能够在简单的界面中将对象存储到memcache中。是否有类似的JSONObject API实现,也是可序列化的。或者,你使用什么memcache友好的序列化/反序列化技术?
谢谢你, 格言。
答案 0 :(得分:5)
JSONObject
s表示为简单字符串。因此,您应该存储字符串化的表单,而不是存储JSONObject
的Java序列化形式。
答案 1 :(得分:3)
如果使用org.json.JSONObject,则不会实现Serializable接口。因此,它无法序列化。相反,您可以将String版本的JSONObject放入MemCache中。
答案 2 :(得分:1)
我发现http://code.google.com/p/json-simple/是org.json.JSONObject的API兼容实现。它没有所有的getDouble,getLong,getJSONArray方法,但其他概念几乎相同。
它优于org.json实现,因为它只是为JSONA扩展HashMap和JSONArray的ArrayList,使这些对象按定义可串行化,因此可以缓存。