我正在使用javascript编写一个AWS依赖应用程序,并且正在使用AWS CLI自动为我的AWS资源构建流程。我正在尝试创建启用了CORS的API网关资源。在调用api网关CLI的put-integration-response
方法时,当我添加--response-parameters
参数时,收到以下错误:
>> Error parsing parameter '--response-parameters': Invalid JSON: Expecting property name enclosed in double quotes: line 1 column 2 (char 1)
>> JSON received: {method.response.header.Access-Control-Allow-Origin:'*'}
这是引起问题的--response-parameters参数:
--response-parameters {"method.response.header.Access-Control-Allow-Origin":"\'*\'"}
如果有帮助,则通过Grunt的grunt-exec插件提供该参数。究竟是什么导致此问题?我尝试添加更多的双引号,但它们似乎未出现在“收到的JSON”中。
最佳答案
我在跟随AWS Lambda Functions tutorial时遇到了同样的问题
无论我尝试了什么,我都无法在Windows 10上获得response-models参数来接受JSON。我终于弄清楚了:我创建了一个名为response-models.json的文件,文件内容的第一行为 {“application/json”:“Empty”} ,并将其保存在当前目录中。然后,我使用 file://response-models.json 作为response-models参数的值
重要说明:该文件必须以无BOM的格式保存,以便仅ASCII字符会出现,而不会产生其他乱码。 (我使用Sublime Text,它可以使它以UTF-8格式保存,而无需BOM,以及许多其他格式。)
等等!我得到以下答复:
{
"statusCode": "200",
"responseModels": {
"application/json": "Empty"
}
}
关于javascript - AWS CLI无效的JSON错误-期望属性名称用双引号引起来,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43615473/