我是python脚本的新手。我试图将json key_value解析为stdout。以下是我的脚本。帮我解决以下错误。
pt="{'outval': 1.132805, 'max': 1.13283, 'to': 1534326908, 'bvalue': 1.13274, 'min': 1.132805, 'from': 1534326907, 'cvalue': 1.132825, 'at': 1534326907164488223, 'avalue': 1.13291, 'size': 1, 'aid': 1, 'vl': 0, 'id': 17777726}"
print(pt["outval"])
print(pt["to"])
print(pt["from"])
错误:
Traceback (most recent call last):
File "j.py", line 5, in <module>
print(pt["outval"])
TypeError: string indices must be integers, not str
预期输出:
1.132805
1534326908
1534326907
预先感谢
答案 0 :(得分:1)
感谢乔恩的想法。我使用ast.literal_eval提取所需的密钥对。下面是我更新的代码。
import json
import ast
pt="{'outval': 1.132805, 'max': 1.13283, 'to': 1534326908, 'bvalue': 1.13274, 'min': 1.132805, 'from': 1534326907, 'cvalue': 1.132825, 'at': 1534326907164488223, 'avalue': 1.13291, 'size': 1, 'aid': 1, 'vl': 0, 'id': 17777726}"
s=ast.literal_eval(pt)
print(s['outval'])
print(s['to'])
print(s['from'])
输出:
root@lamp-1-vm:~/1# python j.py
1.132805
1534326908
1534326907