在实际工作中,有时候需要对判断字符串是否为合法的json格式
解决方法使用json.loads,这样更加符合‘Pythonic'写法
代码示例: Python import json def is_json(myjson): try: json_object = json.loads(myjson) except ValueError, e: return False return True运行代码编辑模式复制折叠
输出结果:
Python print is_json("{}") #prints True print is_json("{asdf}") #prints False print is_json('{ "age":100}') #prints True print is_json("{'age':100 }") #prints False print is_json("{\"age\":100 }") #prints True print is_json('{"age":100 }') #prints True print is_json('{"foo":[5,6.8],"foo":"bar"}') #prints True 下面再介绍一个方法: # -*- coding=utf-8 -*- import json def check_json_format(raw_msg): """ 用于判断一个字符串是否符合Json格式 :param self: :return: """ if isinstance(raw_msg, str): # 首先判断变量是否为字符串 try: json.loads(raw_msg, encoding='utf-8') except ValueError: return False return True else: return False if __name__ == "__main__": print check_json_format("""{"a":1}""") print check_json_format("""{'a':1}""") print check_json_format({'a': 1}) print check_json_format(100)首先判断变量是否为字符串,否则如果输入为int或这其他类型,会发生错误。
上述程序的输出为:
True False False False总结
以上就是本文关于python判断字符串是否是json格式方法分享的全部内容,希望对大家有所帮助。