1.6 KiB
Crow has built in support for JSON data.
##rvalue
JSON read value, used for taking a JSON string and parsing it into crow::json
.
You can read individual items of the rvalue, but you cannot add items to it.
To do that, you need to convert it to a wvalue
, which can be done by simply writing #!cpp crow::json::wvalue wval (rval);
(assuming rval
is your rvalue
).
For more info on read values go here.
#wvalue
JSON write value, used for creating, editing and converting JSON to a string.
The types of values that wvalue
can take are as follows:
False
: from typebool
.True
: from typebool
.Number
Floating_point
: from typedouble
.Signed_integer
: from typeint
.Unsigned_integer
: from typeunsigned int
.
String
: from typestd::string
.List
: from typestd::vector
.Object
: from typecrow::json::wvalue
.
This last type means thatwvalue
can have keys, this is done by simply assigning a value to whatever string key you like, something like#!cpp wval["key1"] = val1;
. Keep in mind that val1 can be any of the above types.
A JSON wvalue can be returned directly inside a route handler, this will cause the content-type
header to automatically be set to Application/json
and the JSON value will be converted to string and placed in the response body. For more information go to Routes.
For more info on write values go here.