无论json输入如何,loads()始终抛出valueerror

无论json输入如何,loads()始终抛出valueerror,json,Json,我的一个测试用例尝试使用以下方法验证一些json: CONFIG = '../reconnoitre/config.json' print(is_json(CONFIG)) # return true is json is valid or false if unable to load def is_json(json_file): try: json_object = json.loads(json_file) except ValueError: return

我的一个测试用例尝试使用以下方法验证一些json:

CONFIG = '../reconnoitre/config.json'

print(is_json(CONFIG))

# return true is json is valid or false if unable to load
def is_json(json_file):
  try:
    json_object = json.loads(json_file)
  except ValueError:
    return False
  return True        
不管我传递了什么JSON,例程总是返回false,例如:

{
  "test": "test"
}

仍将返回一个假值。考虑到函数的简单性,是否有更好的方法验证文件是否为有效的json?

json.loads
将尝试将其参数作为json进行计算,但您给了它文件名,这当然不是有效的json。改为将内容加载到字符串中,并将其传递给
json.loads
,或者更好地使用
json.loads
在带有open(…)块的
中。

尝试
json.loads()
或带有多个数据的json。发生了什么事?那。。。这很有道理。不知道为什么我认为它会为我打开文件,深夜编码!有趣的是,这也不起作用,尝试了
json\u object=json.load(str(open(json\u file,'r'))
try:
将open(json\u file,“r”)作为f:json\u object=json.load(f)
作为f:json\u str=f.readall()
然后
json\u str
传递给
加载方法。啊!那是票。谢谢你!