View source code
Display the source code in std/json.d from which this page was generated on github.
Report a bug
If you spot a problem with this page, click here to create a Bugzilla issue.
Improve this page
Quickly fork, edit online, and submit a pull request for this page. Requires a signed-in GitHub account. This works well for small changes. If you'd like to make larger changes you may want to consider using local clone.

Function std.json.JSONValue.get

Generic type value getter A convenience getter that returns this JSONValue as the specified D type.

inout inout(T) get(T)() const pure @property @safe;

inout inout(T) get(T)() pure @property @trusted;

Note

only numeric, bool, string, JSONValue[string] and JSONValue[] types are accepted

Throws

JSONException if T cannot hold the contents of this JSONValue

Example

import std.exception;
string s =
`{
    "a": 123,
    "b": 3.1415,
    "c": "text",
    "d": true,
    "e": [1, 2, 3],
    "f": { "a": 1 }
 }`;

struct a { }

immutable json = parseJSON(s);
writeln(json["a"].get!double); // 123.0
writeln(json["a"].get!int); // 123
writeln(json["b"].get!double); // 3.1415
assertThrown(json["b"].get!int);
writeln(json["c"].get!string); // "text"
writeln(json["d"].get!bool); // true
assertNotThrown(json["e"].get!(JSONValue[]));
assertNotThrown(json["f"].get!(JSONValue[string]));
static assert(!__traits(compiles, json["a"].get!a));
assertThrown(json["e"].get!float);
assertThrown(json["d"].get!(JSONValue[string]));
assertThrown(json["f"].get!(JSONValue[]));

Authors

Jeremie Pelletier, David Herberth

License

Boost License 1.0.