Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/vbuell/python-javaobj

python-javaobj is a python library that provides functions for reading of Java objects serialized ObjectOutputStream.
https://github.com/vbuell/python-javaobj

Last synced: 28 days ago
JSON representation

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

Awesome Lists containing this project

README

        

# 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:

```python
import javaobj

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

Or, you can use Unmarshaller object directly:

```python
import javaobj

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

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

pobj = marshaller.readObject()
```