python判断字符串是否是json格式方法分享

在实际工作中,有时候需要对判断字符串是否为合法的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格式方法分享 的全部内容, 来源链接: utcz.com/z/324617.html

回到顶部