Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python-如何使用子流程保存shell命令的json数据输出?_Python_Json_Shell_Subprocess - Fatal编程技术网

Python-如何使用子流程保存shell命令的json数据输出?

Python-如何使用子流程保存shell命令的json数据输出?,python,json,shell,subprocess,Python,Json,Shell,Subprocess,我有一个shell命令,当作为普通shell命令运行时,它会生成一个嵌套的json响应 然而,我现在正试图通过Python运行这个命令。在执行此操作时,我使用了subprocess.checkoutput函数,如下所示: my_command = 'xyz show --format=json -j jobid' data = subprocess.check_output(my_command, shell=True) 意识到“数据”存储的是字符串,于是我执行了以下命令: data_as_j

我有一个shell命令,当作为普通shell命令运行时,它会生成一个嵌套的json响应

然而,我现在正试图通过Python运行这个命令。在执行此操作时,我使用了subprocess.checkoutput函数,如下所示:

my_command = 'xyz show --format=json -j jobid'
data = subprocess.check_output(my_command, shell=True)
意识到“数据”存储的是字符串,于是我执行了以下命令:

data_as_json = json.loads(data)
当我尝试以json的形式检索数据_中非嵌套键的值时,它是有效的。但是,当我尝试对嵌套键执行相同操作时,会出现如下键错误:

billed = data_as_json['statistics']['AmountBilled']
KeyError: 'AmountBilled'

我怎样才能克服这个问题?提前谢谢

“嵌套JSON”是指嵌套对象,还是JSON输出包含本身是JSONified数据的字符串值?我指的是嵌套对象。例如,我建议您打印“统计”的内容。您收到一个KeyError,表明json解压良好(嵌套json->嵌套dict),但其他方面出现问题。您是否在
打印(数据)
中看到
{“统计”:{“AmountBille”:“…”}
?无关:为了与Python3兼容,请传递
universal\u newlines=True
。所谓“嵌套JSON”,是指嵌套对象还是JSON输出包含本身是JSONified数据的字符串值?我指的是嵌套对象。例如,我建议您打印“统计”的内容。您收到一个KeyError,表明json解压良好(嵌套json->嵌套dict),但其他方面出现问题。您是否在
打印(数据)
中看到
{“统计”:{“AmountBille”:“…”}
?无关:为了与Python 3兼容,请传递
universal\u newlines=True