dackson 0.2.1
A library for marshalling/unmarshalling JSON into idiomatic D data structures.
To use this package, run the following command in your project's root directory:
Manual usage
Put the following dependency into your project's dependences section:
dackson
Dackson is a loose port Java's Jackson library for serializing and deserializing JSON data into user-defined data structures.
Installation
Dackson is published on the DUB package registry.
Deserializing
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")
Serializing
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
- 0.2.1 released 2 years ago
- zkxjzmswkwl/dackson
- BSD
- Copyright © 2017, Lee Avital
- Authors:
- Dependencies:
- none
- Versions:
-
0.2.1 2022-Sep-24 ~master 2023-Sep-09 - Download Stats:
-
-
0 downloads today
-
0 downloads this week
-
0 downloads this month
-
0 downloads total
-
- Score:
- 0.1
- Short URL:
- dackson.dub.pm