+ printf("\n");
+}
+
+static void
+match_cb(struct json_object *res, void *priv)
+{
+ struct list_head *h = priv;
+ struct match_item *i = calloc(1, sizeof(*i));
+
+ if (i)
+ {
+ i->jsobj = res;
+ list_add_tail(&i->list, h);
+ }
+}
+
+static bool
+filter_json(int opt, struct json_object *jsobj, char *expr)
+{
+ struct jp_state *state;
+ const char *prefix = NULL;
+ struct list_head matches;
+ struct match_item *item, *tmp;
+ struct json_object *res = NULL;
+
+ state = jp_parse(expr);
+
+ if (!state || state->error)