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.
Module std.json
Implements functionality to read and write JavaScript Object Notation values.
JavaScript Object Notation is a lightweight data interchange format commonly used in web services and configuration files. It's easy for humans to read and write, and it's easy for machines to parse and generate.
Warning: While JSONValue
is fine for small-scale use, at the range of hundreds of megabytes it is
known to cause and exacerbate GC problems. If you encounter problems, try replacing it with a stream parser. See
also https://forum.dlang.org/post/dzfyaxypmkdrpakmycjv@forum.dlang.org.
References
Example
import std .conv : to;
// parse a file or string of json into a usable structure
string s = `{ "language": "D", "rating": 3.5, "code": "42" }`;
JSONValue j = parseJSON(s);
// j and j["language"] return JSONValue,
// j["language"].str returns a string
writeln(j["language"] .str); // "D"
writeln(j["rating"] .floating); // 3.5
// check a type
long x;
if (const(JSONValue)* code = "code" in j)
{
if (code .type() == JSONType .integer)
x = code .integer;
else
x = to!int(code .str);
}
// create a json struct
JSONValue jj = [ "language": "D" ];
// rating doesnt exist yet, so use .object to assign
jj .object["rating"] = JSONValue(3.5);
// create an array to assign to list
jj .object["list"] = JSONValue( ["a", "b", "c"] );
// list already exists, so .object optional
jj["list"] .array ~= JSONValue("D");
string jjStr = `{"language":"D","list":["a","b","c","D"],"rating":3.5}`;
writeln(jj .toString); // jjStr
Functions
Name | Description |
---|---|
parseJSON(json, maxDepth, options)
|
Parses a serialized string and returns a tree of JSON values. |
parseJSON(json, options)
|
Parses a serialized string and returns a tree of JSON values. |
toJSON()
|
Takes a tree of JSON values and returns the serialized string. |
toJSON(json, root, pretty, options)
|
Classes
Name | Description |
---|---|
JSONException
|
Exception thrown on JSON errors |
Structs
Name | Description |
---|---|
JSONValue
|
JSON value node |
Enums
Name | Description |
---|---|
JSONFloatLiteral
|
String literals used to represent special float values within JSON strings. |
JSONOptions
|
Flags that control how JSON is encoded and parsed. |
JSONType
|
Enumeration of JSON types |
Authors
Jeremie Pelletier, David Herberth
License
Copyright © 1999-2024 by the D Language Foundation | Page generated by ddox.