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 convertions 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. |
Aliases
Name | Type | Description |
---|---|---|
toJson | Deprecated aliases for backwards compatibility. | |
toPrettyJson |
Authors
Sönke Ludwig
Copyright
© 2012 RejectedSoftware e.K.
License
Subject to the terms of the MIT license, as written in the included LICENSE.txt file.