Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

java-deserialization

Package Overview
Dependencies
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

java-deserialization

Parse Java object serialization format using pure JavaScript

  • 0.1.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
94
decreased by-25.4%
Maintainers
1
Weekly downloads
 
Created
Source

Java Deserialization for Node

npm version build status coverage status

This package started out with the hope of satisfying some specific need for a given project. The first version was committed once that need was satisfied. So far, it makes no claims of completeness or correctness. But if you need to deserialize some Java objects using JavaScript, then you might prefer building on that over starting from scratch.

Usage

var javaDeserialization = require("java-deserialization");
var objects = javaDeserialization.parse(buf);

Each object in objects will contain the values of its “normal” fields as properties, and two hidden properties. One is called class and represents the class of the object, with super pointing at its parent class. The other is extends which is a map from fully qualified class names to the fields associated with that class. If one wants to inspect the private field of some specific class, using extends will help in cases where a more derived class contains another field of the same name. The names class and extends were deliberately chosen in such a way that they are keywords in Java and won't occur in normal field names. The properties are non-enumerable, so they won't show up in enumerations and e.g. util.inspect won't show them by default.

Custom deserialization code

If the class contained custom serialization code, the output from that is collected in a special property called @. One can write post-processing code to reformat the data from that list. Such code has already been added for the following types:

  • java.util.ArrayList – extracts a list field which is an ES Array
  • java.util.ArrayDeque – extracts a list field
  • java.util.Hashtable – extracts a map field which is an ES6 Map and an obj for String-valued keys
  • java.util.HashMapmap and obj just as Hashtable
  • java.util.EnumMapmap and obj, the latter with enum constant names as keys
  • java.util.HashSet – extracts a set field which is an ES6 Set

Contributing

Bug reports, suggestions, code contributions and the likes should go to the project's GitHub page.

Keywords

FAQs

Package last updated on 16 Jan 2018

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc