2009-10-24 57 views
3

Jython非常適合根據需要創建自定義數據結構,但如何存儲它們的實例?顯然可以通過java.io.Serializable來完成,但是ObjectStreams不是人類可讀的;我更喜歡XML。Jython對象的類似於XStream的XML序列化?

我天真地試圖XStream序列化用Jython創建並翻譯成Java與PyObject__tojava__方法的簡單對象,但結果卻是,果然,幾乎亂碼,因爲XStream的重型使用反射(它發現所有Jython的內部) - 並且反序列化不起作用(可能是因爲Jython的動態加載的代理類或其他一些我不太熟悉的實現細節。)

對於Jython對象有沒有像XStream - 可能是Jython庫?

+1

如果它包含有用的位,也許只是應用過濾器就行。 XStream是非常易於配置的,雖然它有一半似乎很神奇,除非你踢了幾次。 – 2009-10-24 06:11:13

+0

是的,還有一些有用的位。但我很確定每個數據結構都需要一個稍微不同的過濾器,所以還應該有一些聰明的方法來動態構建過濾器。 – 2009-10-24 06:31:49

回答

2

顯然Jython是不是非常適合於需要數據結構創作,雖然這是偉大的自定義數據處理。我最終使用Apache BeanUtils的DynaBeans來創建數據結構。他們玩XStream和Jython就好了。