网络编程
位置:首页>> 网络编程>> Python编程>> python判断字符串是否是json格式方法分享

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

作者:风v月  发布时间:2023-01-02 20:50:37 

标签: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

来源:https://segmentfault.com/a/1190000011887590

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com