index and related functions
index(.data, ...) index_(.data, ..., .dots) indexif(.data, ...) indexif_(.data, ..., .dots) dotindex(.data, ...) dotindex_(.data, ..., .dots)
.data
: input. This can be JSON input, or an object of class jqr
that has JSON and query params combined, which is passed from function to function when using the jqr DSL....
: Comma separated list of unquoted variable names.dots
: Used to work around non-standard evaluationdots
: dotsindex
/index_
- queries like: .[]
, .[0]
, .[1:5]
, .["foo"]
indexif
/indexif_
- queries like: .["foo"]?
dotindex
/dotindex_
- queries like: .[].foo
, .[].foo.bar
str <- '[{"name":"JSON", "good":true}, {"name":"XML", "good":false}]' str %>% index '{"name":"JSON", "good":true}' %>% indexif(name) '{"name":"JSON", "good":true}' %>% indexif(good) '{"name":"JSON", "good":true}' %>% indexif(that) '{"a": 1, "b": 1}' %>% index '[]' %>% index '[{"name":"JSON", "good":true}, {"name":"XML", "good":false}]' %>% index(0) '["a","b","c","d","e"]' %>% index(2) '["a","b","c","d","e"]' %>% index('2:4') '["a","b","c","d","e"]' %>% index('2:5') '["a","b","c","d","e"]' %>% index(':3') '["a","b","c","d","e"]' %>% index('-2:') str %>% index %>% select(bad = .name) '[{"name":"JSON", "good":true}, {"name":"XML", "good":false}]' %>% dotindex(name) '[{"name":"JSON", "good":true}, {"name":"XML", "good":false}]' %>% dotindex(good) '[{"name":"JSON", "good":{"foo":5}}, {"name":"XML", "good":{"foo":6}}]' %>% dotindex(good) '[{"name":"JSON", "good":{"foo":5}}, {"name":"XML", "good":{"foo":6}}]' %>% dotindex(good.foo)