A simple representation for the Spanner JSON type: a lightweight, text-based, language-independent data interchange format.
JSON (the JavaScript Object Notation) defines a small set of formatting rules for the portable representation of structured data. See RFC 7159.
A Json
value can be constructed from, and converted to a std::string
. Json
values can be compared (by string) for equality, and streamed.
There is no syntax checking of JSON strings in this interface. The user is expected to only construct Json
values from well-formatted strings.
Constructors
Json(Json const &)
Regular value type, supporting copy, assign, move.
Parameter | |
---|---|
Name | Description |
|
Json const &
|
Json(Json &&)
Regular value type, supporting copy, assign, move.
Parameter | |
---|---|
Name | Description |
|
Json &&
|
Json()
A null value.
Json(std::string)
Construction from a JSON-formatted string.
Note that there is no check here that the argument string is indeed well-formatted. Error detection will be delayed until the value is passed to Spanner.
Parameter | |
---|---|
Name | Description |
s |
std::string
|
Operators
operator=(Json const &)
Regular value type, supporting copy, assign, move.
Parameter | |
---|---|
Name | Description |
|
Json const &
|
Returns | |
---|---|
Type | Description |
Json & |
operator=(Json &&)
Regular value type, supporting copy, assign, move.
Parameter | |
---|---|
Name | Description |
|
Json &&
|
Returns | |
---|---|
Type | Description |
Json & |
operator std::string() const &
Conversion to a JSON-formatted string.
operator std::string() &&
Conversion to a JSON-formatted string.