我有一个python脚本,在远程linux的控制台中提供命令行/输出。 我有另一个脚本,它在本地机器上读取此输出。 输出格式如下:
ABC: NEG
BCD: NEG
FGH: POS
{aa:bb:cc:dd:ee{"value":"30","type":"Tip 3","targetModule":"Target 3","configurationGroup":null,"name":"Configuration Deneme 3","description":null,"identity":"Configuration Deneme 3","version":0,"systemId":3,"active":true}}
注意最后一行是json格式,现在我想检查哪一行是json格式的输出。 我试过了
if "value" in line:
json.loads(line)
它不是阅读,甚至
json.dumps(线)
不提供输出?
答案 0 :(得分:7)
您可以使用try except子句来检查字符串是否实际上是json:
import json
line = '<what you think is json>'
try:
json_line = json.loads(line)
except ValueError:
print("not a json")
在上面的代码中,最后一行不是有效的JSON。您可以使用此工具JSONLint来验证您的JSON是否是有效的JSON。