将openssl命令的输出转换为JSON

时间:2017-04-19 21:03:08

标签: python json openssl

openssl命令的输出如下所示:

serial=CABCSDUMMY4A168847703FGH
notAfter=Oct 21 16:43:47 2024 GMT
subject= /C=US/ST=WA/L=Seattle/O=MyCo/OU=TME/CN=MyCo.example.com

如何将此字符串转换为JSON?

我试过这些:

temp_txt_bytes = subprocess.check_output (["openssl", "x509", "-serial", "-enddate", "-subject", "-noout", "-in", pem_file_name])

temp_txt_strings = temp_txt_bytes.decode("utf-8")

test = json.loads(temp_txt_strings) #json.parse, json.dump, and json.load also failing

1 个答案:

答案 0 :(得分:2)

您可以使用" ="分割每一行。作为分隔符,将两个部分放在有序字典中,然后将其转储到json:

my_list = "serial=CABCSDUMMY4A168847703FGH".split("=")
ordered_dict = OrderedDict()
ordered_dict[my_list[0]] = my_list[1]
print(json.dumps(ordered_dict))

输出将是这样的:

{"serial": "CABCSDUMMY4A168847703FGH"}

你可以为所有线路做到这一点。 PS不要忘记导入json和OrderedDict

相关问题