在实际工作中,有时候需要对判断字符串是否为合法的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格式方法分享的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站:python好玩的项目—色情图片识别代码分享、深入理解python中函数传递参数是值传递还是引用传递、Python面向对象编程基础解析(二)等,有什么问题可以随时留言,小编会及时回复大家的。感谢朋友们对本站的支持!