JSON이 좋거나 Jython을 사용하여 Java의 직렬화 라이브러리를 활용할 수 있습니다. 이것의 장점은 클래스를 직렬화 가능한 형식으로 변환 할 필요가 없다는 것입니다. 말 그대로 직렬화 가능을 구현하고 serialVersionUID를 추가하면됩니다. Jython tips에서 복사
:
9 직렬화
자바 객체는 표준 파이썬 피클과의 cPickle 모듈을 사용하여 직렬화 할 수 없습니다. Java 및 Jython 객체는 모두 일반적인 Java 직렬화를 사용하여 직렬화 할 수 있습니다. 당신이 정상 java.io.ObjectInputStream의 클래스를 사용할 수없는 자이 썬 개체를 직렬화 복원 할 때 다음과 같이 그러나, 당신은, 자이 썬 고유의 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에서 Jython의 Java 상속에 사용되는 동적으로로드 된 프록시 클래스를 찾고 다시 만드는 것이 어렵 기 때문에 런타임 오류가 발생합니다.
안녕하세요, 감사합니다. 좋은 안드로이드 JSON 튜토리얼을 가르쳐 주시겠습니까? 나는 그것을 직접 봤지만 초보자를위한 좋은 단계별 가이드를 찾을 수없는 것 같습니다. 다시 한 번 감사드립니다! – herrfz
매우 간단합니다. 예를 들어 http://www.vogella.com/articles/AndroidJSON/article.html#write – marwinXXII
멋지고 감사합니다. – herrfz