jsonGet (Function)

Signature: jsonGet(document: int, path: string) -> Result<string, Error>

Description: Returns a JSON scalar at the given path as a string. Arrays, objects, invalid paths, and invalid handles return Error.

Parameters

  • document (int): Handle returned by jsonParse
  • path (string): Dotted keys and bracketed indices, e.g. "user.items[0].name"

Returns: Result<string, Error>

Example

fn inspect(document) = {
    let summary = "name=${jsonGet(document, "name")}; items=${jsonLength(document, "items")}"
    let released = jsonFree(document)
    "${summary}; released=${released}"
}
match jsonParse("{\"name\":\"osprey\",\"items\":[1,2]}") {
    Success { value } => print(inspect(value))
    Error { message } => print(message)
}
inspect document =
    summary = "name=${jsonGet (document, "name")}; items=${jsonLength (document, "items")}"
    released = jsonFree document
    "${summary}; released=${released}"
match jsonParse "{\"name\":\"osprey\",\"items\":[1,2]}"
    Success value => print (inspect value)
    Error message => print message