You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

调用ShadowServer API脚本传入JSON参数时出现JSON解析异常求助

解决ShadowServer API脚本调用的JSON参数引号问题

错误原因

Windows命令提示符(CMD)的引号解析规则和Linux Shell不同,你用的单引号'在CMD中不会被视为字符串边界,导致'{ "help":true }'被拆分成多个零散参数,脚本接收到的JSON格式完全错误,从而触发解析异常。

解决思路与方案

方案1:调整CMD下的引号转义

在Windows CMD中,必须用双引号"包裹JSON字符串,同时对JSON内部的双引号用\"转义。Python代码中可以用原始字符串(r前缀)避免额外的反斜杠转义:

os.system(r'[some_directory]\call-api.py reports/query "{ \"help\":true }" pretty')

如果不用原始字符串,需要把转义符再转义一次:

os.system('[some_directory]\\call-api.py reports/query "{ \\"help\\":true }" pretty')

方案2:改用subprocess.run替代os.system(推荐)

os.system依赖系统shell解析命令,容易出现引号、转义问题。改用subprocess.run直接传递参数列表,完全绕过shell解析,更可靠:

import subprocess

subprocess.run(
    [r'[some_directory]\call-api.py', 'reports/query', '{"help":true}', 'pretty'],
    check=True  # 可选:如果命令执行失败会抛出异常
)

验证方法

先在CMD窗口中直接执行测试命令,确认能正常返回结果后再写入Python代码:

[some_directory]\call-api.py reports/query "{ \"help\":true }" pretty

内容的提问来源于stack exchange,提问作者Prometheus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 17:40:39