Jaxon v2.0.0-alpha.2 Jaxon.Path View Source
Utility module for parsing and encoding JSON path expressions.
Link to this section Summary
Link to this section Types
Link to this section Functions
Encoding path expressions:
iex> Jaxon.Path.encode([:root, "test", 0])
{:ok, "$.test[0]"}
iex> Jaxon.Path.encode([:root, "with space", "other", "more space", 0])
{:ok, ~s($["with space"].other["more space"][0])}
How to handle encode errors:
iex> Jaxon.Path.encode([:root, :whoops, "test", 0])
{:error, %Jaxon.EncodeError{message: "`:whoops` is not a valid JSON path segment"}}
Parse path expressions:
iex> Jaxon.Path.parse("$[*].pets[0]")
{:ok, [:root, :all, "pets", 0]}
iex> Jaxon.Path.parse(~s($["key with spaces"].pets[0]))
{:ok, [:root, "key with spaces", "pets", 0]}
How to handle parse errors;
iex> Jaxon.Path.parse("$.\"test[x]")
{:error, %Jaxon.ParseError{message: "Ending quote not found for string at `\"test[x]`"}}
Parse path expressions:
iex> Jaxon.Path.parse!("$[*].pets[0]")
[:root, :all, "pets", 0]