summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/json.c6
-rw-r--r--src/parser_json.c2
2 files changed, 5 insertions, 3 deletions
diff --git a/src/json.c b/src/json.c
index e8870a13..0c708c7d 100644
--- a/src/json.c
+++ b/src/json.c
@@ -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) {