JSON хорош, или вы можете использовать Jython, чтобы позволить вам использовать библиотеки сериализации Java. Преимущество этого заключается в том, что вам не нужно выполнять какую-либо работу по преобразованию ваших классов в сериализуемый формат, буквально просто реализуйте сериализуемые и добавляйте serialVersionUID.
Скопирован из Jython tips:
9 Сериализации
Java объекты не может быть сериализованы с помощью стандартного Python маринованной и cPickle модули. Оба объекта Java и Jython могут быть сериализованы с использованием обычной сериализации Java. Однако, при десериализации объекта Jython вы не можете использовать обычный класс java.io.ObjectInputStream, вы должны использовать Jython специфичный org.python.util.PythonObjectInputStream, как показано здесь:
import java.io as io
import org.python.util as util
class TestClass(io.Serializable):
def __init_ _(self, value=0):
self.value = value
self.message = "Serialized"
def toString(self):
return "Message: %(message)s value:
is %(value)s" % self.__dict_ _
instance = TestClass(3)
outFile = io.FileOutputStream("test.ser")
outStream = io.ObjectOutputStream(outFile)
outStream.writeObject(instance)
outFile.close()
inFile = io.FileInputStream("test.ser")
inStream = util.PythonObjectInputStream(inFile)
readInstance = inStream.readObject()
print readInstance.toString()
Message: Serialized value: is 3
Если вы не используете PythonObjectInputStream, вы получите ошибку времени выполнения, потому что обычный объект Java ObjectInputStream испытывает трудности с поиском и воссозданием динамически загруженных прокси-классов, используемых для наследования Java Jython.
Привет, спасибо! Не могли бы вы указать мне хороший учебник для Android JSON? Я сам искал ее, но, похоже, не нашел хорошего пошагового руководства для новичков. Еще раз спасибо! – herrfz
довольно просто, например http://www.vogella.com/articles/AndroidJSON/article.html#write – marwinXXII
классный, спасибо большое! – herrfz