Search code examples
jsonjmespath

How to get a list of object keys in JMESPath


My Google search skills are failing me. How to get a list of all JSON object keys in JMESPath?

i.e. how to go from:

{"a": 1, "b": 2}

to:

["a", "b"]

Solution

  • JMESPath has the function keys. Therefore, the JMESPath expression is keys(@).

    Example

    echo '{"a": 1, "b": 2}' | jp "keys(@)"
    

    returns

    [
      "a",
      "b"
    ]
    

    Tested with jp 0.1.3 on a Linux environment.