json
get
Read the current or historical JSON value at a document path.
strata json getdb.json.get(key: 'str', path: 'str' = '$', *, as_of: 'Optional[int]' = None, as_of_time: 'Optional[TimeLike]' = None) -> 'Any'wire json_get
Reads the JSON value at a path inside a document. Current reads return the value with commit metadata; passing a timestamp returns the bare value visible at that point in time. A missing document or path is a found-false result, distinct from a stored JSON null.
Optional reads distinguish present data from missing data. When version or timestamp facts exist on the executor output, SDK mappings should preserve them.
To see the complete help for this command, run:
strata json get --helphelp(db.json.get)
Example
Read a whole document, a value at a JSON path, or nothing.
strata json set user $ {"age":30,"name":"alice"}strata json get user $strata json get user $.namestrata json get absent $
_ = db.json.set("user", "$", {"name": "alice", "age": 30})db.json.get("user", "$")db.json.get("user", "$.name")db.json.get("absent", "$") is None
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| key | string | yes | Document key. |
| path | string | yes | JSON path. |
| as_of | integer or null | no | Read as of a position on the logical commit timeline - the `timestamp` from `history` output, not the `version`, and never a calendar date. To read as of a real time, use `as_of_time` instead. |
| as_of_time | integer or null | no | Read as of a real time: a wall-clock instant in microseconds since the Unix epoch (UTC), as reported by `committed_at` on a write ack or on any `history` row. Resolves to the commit at or before that instant, and fails rather than guessing if the instant falls outside the branch's recorded history. Mutually exclusive with `as_of`. |
| branch | string or null | no | Target branch. Defaults to the executor handle branch. |
| space | string or null | no | Target product space. Defaults to `"default"`. |
Returns
Maybe<JsonVersionedValue>
- dataMaybeJsonVersionedValue
- typestring
Errors
Recover by code. Retry policy and commit outcome come from the shipped error registry.
| Code | Retry | Commit outcome |
|---|---|---|
| failed_precondition.engine.runtime_closed | never | not_started |
| not_found.engine.branch | never | not_applicable |
| invalid_argument.engine.product_space | never | not_started |
| invalid_argument.engine.json_document_id | never | not_started |
| invalid_argument.engine.json_path | never | not_started |
| invalid_argument.engine.json_path_too_long | never | not_started |