diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/json.c | 6 | ||||
-rw-r--r-- | src/parser_json.c | 2 |
2 files changed, 5 insertions, 3 deletions
@@ -409,7 +409,8 @@ json_t *range_expr_json(const struct expr *expr, struct output_ctx *octx) json_t *meta_expr_json(const struct expr *expr, struct output_ctx *octx) { - return json_pack("{s:s}", "meta", meta_templates[expr->meta.key].token); + return json_pack("{s:{s:s}}", "meta", + "key", meta_templates[expr->meta.key].token); } json_t *payload_expr_json(const struct expr *expr, struct output_ctx *octx) @@ -1049,7 +1050,8 @@ json_t *meta_stmt_json(const struct stmt *stmt, struct output_ctx *octx) { json_t *root; - root = json_pack("{s:s}", "meta", meta_templates[stmt->meta.key].token); + root = json_pack("{s:{s:s}}", "meta", + "key", meta_templates[stmt->meta.key].token); root = json_pack("{s:o, s:o}", "left", root, "right", expr_print_json(stmt->meta.expr, octx)); diff --git a/src/parser_json.c b/src/parser_json.c index 3d96000b..88390432 100644 --- a/src/parser_json.c +++ b/src/parser_json.c @@ -336,7 +336,7 @@ static struct expr *json_parse_meta_expr(struct json_ctx *ctx, unsigned int key; const char *name; - if (json_unpack_err(ctx, root, "s", &name)) + if (json_unpack_err(ctx, root, "{s:s}", "key", &name)) return NULL; erec = meta_key_parse(int_loc, name, &key); if (erec) { |