diff --git a/pkg/yqlib/doc/Traverse.md b/pkg/yqlib/doc/Traverse.md index 4442dc1..f9e43f3 100644 --- a/pkg/yqlib/doc/Traverse.md +++ b/pkg/yqlib/doc/Traverse.md @@ -33,7 +33,7 @@ c: banana ``` ## Special characters -Use quotes around path elements with special characters +Use quotes with brackets around path elements with special characters Given a sample.yml file of: ```yaml @@ -41,7 +41,7 @@ Given a sample.yml file of: ``` then ```bash -yq eval '."{}"' sample.yml +yq eval '.["{}"]' sample.yml ``` will output ```yaml diff --git a/pkg/yqlib/operator_traverse_path_test.go b/pkg/yqlib/operator_traverse_path_test.go index 51a078e..b4475cc 100644 --- a/pkg/yqlib/operator_traverse_path_test.go +++ b/pkg/yqlib/operator_traverse_path_test.go @@ -47,13 +47,21 @@ var traversePathOperatorScenarios = []expressionScenario{ }, { description: "Special characters", - subdescription: "Use quotes around path elements with special characters", + subdescription: "Use quotes with brackets around path elements with special characters", document: `{"{}": frog}`, - expression: `."{}"`, + expression: `.["{}"]`, expected: []string{ "D0, P[{}], (!!str)::frog\n", }, }, + { + skipDoc: true, + document: `{"flying fox": frog}`, + expression: `.["flying fox"]`, + expected: []string{ + "D0, P[flying fox], (!!str)::frog\n", + }, + }, { description: "Dynamic keys", subdescription: `Expressions within [] can be used to dynamically lookup / calculate keys`,