JsonObject¶
Immutable JSON object backed by a persistent hash map.
Construction is via chained .update() calls, each returning a new object
with structural sharing:
Implements¶
- Stringable box
Constructors¶
create¶
new val create(
data': HashMap[String val, (JsonObject val | JsonArray val | String val | I64 val | F64 val | Bool val | None val), HashEq[String val] val] val = qualify)
: JsonObject val^
Parameters¶
- data': HashMap[String val, (JsonObject val | JsonArray val | String val | I64 val | F64 val | Bool val | None val), HashEq[String val] val] val = qualify
Returns¶
- JsonObject val^
Public Functions¶
apply¶
Look up a value by key. Raises if key is not present.
fun box apply(
key: String val)
: (JsonObject val | JsonArray val | String val |
I64 val | F64 val | Bool val |
None val) ?
Parameters¶
- key: String val
Returns¶
get_or_else¶
Look up a value by key, returning default if absent.
fun box get_or_else(
key: String val,
default: (JsonObject val | JsonArray val | String val |
I64 val | F64 val | Bool val |
None val))
: (JsonObject val | JsonArray val | String val |
I64 val | F64 val | Bool val |
None val)
Parameters¶
- key: String val
- default: (JsonObject val | JsonArray val | String val | I64 val | F64 val | Bool val | None val)
Returns¶
contains¶
Check whether a key is present.
Parameters¶
- key: String val
Returns¶
- Bool val
size¶
Number of key-value pairs.
Returns¶
- USize val
update¶
Return a new object with the key set to value.
fun box update(
key: String val,
value: (JsonObject val | JsonArray val | String val |
I64 val | F64 val | Bool val |
None val))
: JsonObject val
Parameters¶
- key: String val
- value: (JsonObject val | JsonArray val | String val | I64 val | F64 val | Bool val | None val)
Returns¶
- JsonObject val
remove¶
Return a new object without the given key. No-op if key is absent.
Parameters¶
- key: String val
Returns¶
- JsonObject val
keys¶
Iterate over keys.
fun box keys()
: MapKeys[String val, (JsonObject val | JsonArray val | String val | I64 val | F64 val | Bool val | None val), HashEq[String val] val] ref
Returns¶
- MapKeys[String val, (JsonObject val | JsonArray val | String val | I64 val | F64 val | Bool val | None val), HashEq[String val] val] ref
values¶
Iterate over values.
fun box values()
: MapValues[String val, (JsonObject val | JsonArray val | String val | I64 val | F64 val | Bool val | None val), HashEq[String val] val] ref
Returns¶
- MapValues[String val, (JsonObject val | JsonArray val | String val | I64 val | F64 val | Bool val | None val), HashEq[String val] val] ref
pairs¶
Iterate over (key, value) pairs.
fun box pairs()
: MapPairs[String val, (JsonObject val | JsonArray val | String val | I64 val | F64 val | Bool val | None val), HashEq[String val] val] ref
Returns¶
- MapPairs[String val, (JsonObject val | JsonArray val | String val | I64 val | F64 val | Bool val | None val), HashEq[String val] val] ref
string¶
Compact JSON serialization.
Returns¶
- String iso^
pretty_string¶
Pretty-printed JSON serialization.
Parameters¶
- indent: String val = " "
Returns¶
- String iso^