Top-level List as data is not supported
Opened this issue · 2 comments
Description
A clear and concise description of the bug.
How to Reproduce
- Go to cel-playground
- Enter a valid JSON with a top-level array
[ { "noun": "lion", "population": 123, "predator": true }, { "noun": "deer", "population": 456, "predator": false }, { "noun": "pigeon", "population": 789, "predator": false } ]
- Press Run
- View Output
line 1: cannot unmarshal !!seq into map[string]interface {}
Expected Behavior
Top-level Array should be accepted as it's valid JSON. See: https://stackoverflow.com/questions/3833299/can-an-array-be-top-level-json-text
Screenshots
If applicable, add screenshots to help explain your problem.
System Information
- OS: [e.g. MacOS]
- OS Version: [e.g. 12.0]
- Language Version: [e.g. Go 1.17.5, Node 16.13.1]
- Package Manager Version: [e.g. NPM 6.14.1]
- Browser (if applicable): [e.g. Google Chrome]
- Browser Version (if applicable): [e.g. 81.0.4044.138]
Additional Context
Hi @mrueg!
Thank you for opening this issue!
Yeah, it's really valid JSON. But I don't know how it could be accessible in CEL expression without a variable name.
Do you have any idea?
Putting the array into any variable, like the example below, should work..
Does it make sense for your case?
Thanks for your response @matheusfm !
It's clearly an option, but might make things more difficult when applying custom CEL code afterwards (as I'd have to retrofit it) I've started a discussion in the cel-go repo as well.