如何在Python中检查字符串是否为有效JSON

3 投票
1 回答
5706 浏览
提问于 2025-04-18 02:45

我有一个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(line)

也没有输出?

1 个回答

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是否有效。

撰写回答