Skip to content

std.json

import std.json
Function Signature Description
json.parse json.parse(s: str) -> json Parse a JSON document
json.parse_or json.parse_or(s: str, fallback: json) -> json Parse, or use fallback
json.stringify json.stringify(v: T) -> str Compact serialization
json.pretty json.pretty(v: T) -> str Indented serialization
json.get json.get(j: json, key: str) -> json Object field
json.has json.has(j: json, key: str) -> bool Field presence
json.keys json.keys(j: json) -> [str] Object keys
json.len json.len(j: json) -> int Array/object length
json.type json.type(j: json) -> str Value kind
json.as_str json.as_str(j: json) -> str Extract string
json.as_int json.as_int(j: json) -> int Extract integer
json.as_float json.as_float(j: json) -> float Extract float
json.as_bool json.as_bool(j: json) -> bool Extract boolean
json.merge json.merge(a: json, b: json) -> json Merge two objects
json.is_null / is_bool / is_number / is_string / is_array / is_object json.is_*(j: json) -> bool Type predicates
import std.json
data := json.parse("{\"name\": \"Ada\", \"age\": 36}")
name := json.as_str(json.get(data, "name"))
age := json.as_int(json.get(data, "age"))
println("{name} is {age}") // Ada is 36
if json.has(data, "email") {
println("has email")
}
println(json.type(data)) // object