Top-level List as data is not supported
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
Here's an example: https://playcel.undistro.io/?content=H4sIAAAAAAAAA4WQSQrDMAxFryK09qZz66tUWRiilICxjAcohNy9ciB006Qb8XkfPYQm7F1xaPFJAWBqA4AwSA2EVpMfRZNZiyixelcWaOFwPH2bxKqS1HhJlRufzYa1Z06b1vPl%2BtM6OJ%2F3tXF88c65t%2Fvjj5hChwb5rW3OuqWPIRxECHH%2BAMP1TOcrAQAA
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?
https://playcel.undistro.io/?content=H4sIAAAAAAAAA42QTQoCMQxGrxKy7sZ%2F7VWMi%2BpEGSlt6bQglN7daBnQhc5kkw9eyCMp2JlkUGMhR%2BjPd74kQk0OpI6tAZQxABA6n2VUS7K9l6Q%2BYfAhW5PeQMNiufqmkUXn44ulmHlkVU2YOub417TebH%2BarsYO81Whv%2FHEWbv9YaashRO5igr5IYPDIEvk3%2B3VWJ9rxsH7gQEAAA%3D%3D
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.