
# 如何使用cli-jsonInput？注意事项有哪些？
#### **问题背景**
命令提示符（cmd.exe）等工具对使用时输入的字符串的最大长度有限制。当需要执行的命令的参数过多或参数值过长时，可能会因为其长度限制导致命令输入不完整。因此KooCLI除了支持参数在命令中直接输入之外，也支持使用"--cli-jsonInput=${jsonFileName}"传入JSON文件，向KooCLI传递云服务API参数。KooCLI会在运行时解析并使用该JSON文件中的参数调用目标API。
#### **使用方式**
cli-jsonInput的使用方式请参考：[以JSON文件的方式传递API参数](https://support.huaweicloud.com/usermanual-hcli/hcli_05_12.html)。
#### **注意事项**
- "--cli-jsonInput"选项传入的JSON文件中目前只支持写入云服务的API参数，不支持写入系统参数。若目标API中存在与[新系统参数](https://support.huaweicloud.com/hcli_faq/hcli_19_001.html#hcli_19_001__table84461047193613)或[旧系统参数](https://support.huaweicloud.com/hcli_faq/hcli_19_003.html#hcli_19_003__table4940171011536)重名的参数，被写入jsonInput文件中的默认将被识别为该API的参数；
- "--cli-jsonInput"选项传入的JSON文件中，KooCLI会根据JSON最外层的Key获取并解析其的参数值，目前支持的Key包括：**path** 、**query** 、**body** 、**formData** 、**header** 、**cookie** 。JSON最外层的其他Key下的内容将会被忽略。若JSON文件里所有最外层的Key都不属于上述支持的Key之一，会提示如下错误：
  \[USE_ERROR\]cli-jsonInput文件内容不符合要求,详情请参考...
  
- 使用"--cli-jsonInput"选项传入云服务API参数时，同一位置的API参数必须全部写入JSON文件，或全部通过命令直接传入，否则可能会导致参数解析不完整，会提示如下错误： \[USE_ERROR\]缺少必填参数:\*
  
- "--cli-jsonInput"选项只支持传入JSON格式的文件，且文件扩展名必须为".json"，支持传入的最大文件为5MB；使用"--cli-jsonInput"时，会校验JSON文件的格式及文件中参数的类型。若JSON文件的格式有误，会提示： \[USE_ERROR\]cli-jsonInput参数的文件解析失败,文件中参数有误
  若JSON文件中某参数的类型不被支持，会提示：
  \[USE_ERROR\]不支持参数\*的值的类型
  
- 使用"--cli-jsonInput"选项传入云服务API参数时，参数的取值不支持使用custom参数。
 
