diff --git a/src/parser/transform/transform_expression.cpp b/src/parser/transform/transform_expression.cpp index 4e9ed13b00..7a47ec4b08 100644 --- a/src/parser/transform/transform_expression.cpp +++ b/src/parser/transform/transform_expression.cpp @@ -455,7 +455,7 @@ std::unique_ptr Transformer::transformStructLiteral( for (auto& structField : ctx.kU_StructField()) { auto structExpr = transformExpression(*structField->oC_Expression()); std::string alias; - if (structField->oC_Expression()) { + if (structField->oC_SymbolicName()) { alias = transformSymbolicName(*structField->oC_SymbolicName()); } else { alias = transformStringLiteral(*structField->StringLiteral()); diff --git a/test/test_files/tinysnb/function/struct.test b/test/test_files/tinysnb/function/struct.test index 490bef6876..1ce2053c4b 100644 --- a/test/test_files/tinysnb/function/struct.test +++ b/test/test_files/tinysnb/function/struct.test @@ -15,6 +15,10 @@ ---- 1 {a: 1, b: {c: C, d: D}} +-STATEMENT RETURN {"foo": "bar"}; +---- 1 +{foo: bar} + -LOG StructExtract -STATEMENT WITH {a:1, b:{c: 'C', d: 'D'}} AS s RETURN s.b.c ---- 1