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.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-22 UTC."],[[["\u003cp\u003eThis webpage provides documentation for the \u003ccode\u003eJson\u003c/code\u003e class in the Google Cloud Spanner C++ library, offering various versions of the class.\u003c/p\u003e\n"],["\u003cp\u003eThe latest version of the \u003ccode\u003eJson\u003c/code\u003e class is \u003ccode\u003e2.37.0-rc\u003c/code\u003e, with numerous previous versions also documented, starting from version \u003ccode\u003e2.11.0\u003c/code\u003e and going up to \u003ccode\u003e2.36.0\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eJson\u003c/code\u003e class represents a JSON value that can be constructed from and converted to a \u003ccode\u003estd::string\u003c/code\u003e, with no syntax validation happening in this interface and relies on well formatted strings.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eJson\u003c/code\u003e objects can be created as null values, from JSON formatted strings, and support standard operations such as copying, assignment, moving, equality comparison, and streaming.\u003c/p\u003e\n"],["\u003cp\u003eThe class supports the conversion to JSON-formatted strings using the \u003ccode\u003eoperator std::string()\u003c/code\u003e both for \u003ccode\u003econst\u003c/code\u003e and non-\u003ccode\u003econst\u003c/code\u003e references, allowing easy integration with the standard string type.\u003c/p\u003e\n"]]],[],null,[]]