--cli-binary-format raw-in-base64-out
is required to pass JSON string in command line.
aws lambda invoke --cli-binary-format raw-in-base64-out \
--function-name my-function --payload '{ "key": "value" }' response.json
This change has been introduced from AWS CLI v2 globally.