Cloud9 CLI批量写入DynamoDB时JSON无法解码问题求助
问题
我在Cloud9 CLI执行命令aws dynamodb batch-write-item --request-items file://items.json,尝试批量将数据写入DynamoDB表。此前JSON解析正常,但修正语法错误后,出现报错:
Error parsing parameter '--request-items': Invalid JSON: No JSON object could be decoded
报错原因
检查提供的items.json文件后,发现其中Sensor为"L"的条目存在JSON语法错误:该条目的SampleRate字段使用DynamoDB的N类型,但未提供对应的字符串形式数值,错误代码片段如下:
{ "PutRequest":{ "Item":{ "Sensor":{"S": "L"}, "SampleRate":{"N": }, // 此处缺少合法的字符串数值,违反JSON语法规则 "Locations":{"L": ["Canada","Antarctica"]} } } }
JSON语法要求所有键值对必须包含合法值,{"N": }这种写法没有提供具体内容,直接导致整个JSON文件无法被解析器识别。
修正方案
给这个空的N类型字段补充合法的字符串形式数值(比如业务允许的"0",或者其他符合需求的数值),修正后的该条目示例:
{ "PutRequest":{ "Item":{ "Sensor":{"S": "L"}, "SampleRate":{"N": "0"}, "Locations":{"L": ["Canada","Antarctica"]} } } }
另外,建议使用jsonlint工具(CLI命令jsonlint items.json)快速校验整个JSON文件的语法,排查是否存在其他潜在的格式问题。
内容的提问来源于stack exchange,提问作者Benji
相关产品推荐
相关产品推荐

