dackson 0.1.2

A library for marshalling/unmarshalling JSON into idiomatic D data structures.

To use this package, put the following dependency into your project's dependencies section:



Build Status

Dackson is a loose port Java's Jackson library for serializing and deserializing JSON data into user-defined data structures.


Dackson is published on the DUB package registry.


To deserialize a datatype, you must first define it! Dackson will work with any mutable struct, though you can add additional JsonProperty annotations if the D field name differs from the actual field name.

import dackson;

struct User {
  @JsonProperty("user_id") long userId;
  string username;

Then use the decodeJson function to decode the JSON (in string form) into a D type.

string json = `{"user_id": 1234, "username": "John Smith"}`;
User u = decodeJson!(User)(json);  // User(1234, "John Smith")

Or use unified function call syntax:

string json = `{"user_id": 1234, "username": "John Smith"}`;
User u = json.decodeJson!User;  // User(1234, "John Smith")


Encode using the encodeJson function. The JsonProperty annotations will be respected.

import dackson;

struct User {
  @JsonProperty("user_id") long userId;
  string username;

string encoded = encodeJson(User(1234, "John Smith")); // {"user_id":1234,"username":"John Smith"}

Future Work

  • Support for classes and immutable structures.
  • @JsonIgnore annotations
  • Special behavior for missing/null values
Lee Avital
0.1.2 2018-Jan-14
0.1.1 2017-Dec-27
0.1.0 2017-Dec-26
~master 2018-Jan-14
~la/readme 2017-Dec-26
Show all 6 versions
Download Stats:
  • 0 downloads today

  • 1 downloads this week

  • 3 downloads this month

  • 3 downloads total