Module vibe.data.json
JSON serialization and value handling.
This module provides the Json
struct for reading, writing and manipulating JSON values in a seamless,
JavaScript like way. De(serialization) of arbitrary D types is also supported.
Examples
void manipulateJson(Json j) { // object members can be accessed using member syntax, just like in JavaScript j = Json.emptyObject; j.name = "Example"; j.id = 1; // retrieving the values is done using get() assert(j["name"].get!string == "Example"); assert(j["id"].get!int == 1); // semantic conversions can be done using to() assert(j.id.to!string == "1"); // prints: // name: "Example" // id: 1 foreach( string key, value; j ){ writefln("%s: %s", key, value); } // print out as JSON: {"name": "Example", "id": 1} writefln("JSON: %s", j.toString()); }
Functions
Name | Description |
---|---|
deserializeJson
|
Deserializes a JSON value into the destination variable. |
parseJson
|
Parses the given range as a JSON string and returns the corresponding Json object.
|
parseJsonString
|
Parses the given JSON string and returns the corresponding Json object.
|
serializeToJson
|
Serializes the given value to JSON.
|
writeJsonString
|
Writes the given JSON object as a JSON string into the destination range. |
writePrettyJsonString
|
Writes the given JSON object as a prettified JSON string into the destination range. |
Structs
Name | Description |
---|---|
Json
|
Represents a single JSON value. |
JsonSerializer
|
Serializer for a plain Json representation.
|
JsonStringSerializer
|
Serializer for a range based plain JSON string representation. |
Authors
Sönke Ludwig
Copyright
© 2012-2013 RejectedSoftware e.K.
License
Subject to the terms of the MIT license, as written in the included LICENSE.txt file.