vbuell / python-javaobj

python-javaobj is a python library that provides functions for reading of Java objects serialized ObjectOutputStream.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

python-javaobj

python-javaobj is a python library that provides functions for reading and writing (writing is WIP currently) Java objects serialized or will be deserialized by ObjectOutputStream. This form of object representation is a standard data interchange format in Java world.

javaobj module exposes an API familiar to users of the standard library marshal, pickle and json modules.

Features

  • Java object instance unmarshaling
  • Java classes unmarshaling
  • Primitive values unmarshaling
  • Automatic conversion of Java Collections to python ones (HashMap => dict, ArrayList => list, etc)

Requirements

  • Python >= 2.6, but < 3.0 (porting to 3.0 is in progress)
  • Maven 2+ (for building test data of serialized objects. You can skip it if you do not plan to run tests.py)

Usage

Unmarshalling of Java serialised object:

import javaobj

jobj = self.read_file("obj5.ser")
pobj = javaobj.loads(jobj)
print pobj

Or, you can use Unmarshaller object directly:

import javaobj

marshaller = javaobj.JavaObjectUnmarshaller(open("sunExample.ser"))
pobj = marshaller.readObject()

self.assertEqual(pobj.value, 17)
self.assertTrue(pobj.next)

pobj = marshaller.readObject()

About

python-javaobj is a python library that provides functions for reading of Java objects serialized ObjectOutputStream.

License:Apache License 2.0


Languages

Language:Python 72.4%Language:Java 27.6%