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

yipeiwu_com6年前Python基础

在实际工作中,有时候需要对判断字符串是否为合法的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面向对象编程基础解析(二)等,有什么问题可以随时留言,小编会及时回复大家的。感谢朋友们对本站的支持!

相关文章

python的迭代器与生成器实例详解

本文以实例详解了python的迭代器与生成器,具体如下所示: 1. 迭代器概述:   迭代器是访问集合元素的一种方式。迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问...

Python 读写文件和file对象的方法(推荐)

1.open 使用open打开文件后一定要记得调用文件对象的close()方法。比如可以用try/finally语句来确保最后能关闭文件。 file_object = open('the...

用Python登录Gmail并发送Gmail邮件的教程

 这篇快文介绍了使用Gmail作为您的e-mail服务器,通过Python的内置SMTP库发送电子邮件。它并不复杂,我保证。 下面是如何在Python中登录GMail: &nb...

python re正则匹配网页中图片url地址的方法

python re正则匹配网页中图片url地址的方法

最近写了个python抓取必应搜索首页http://cn.bing.com/的背景图片并将此图片更换为我的电脑桌面的程序,在正则匹配图片url时遇到了匹配失败问题。 要抓取的图片地址如图...

详解Django将秒转换为xx天xx时xx分

Django将秒转换为xx天xx时xx分,具体代码如下所示: from django.utils.translation import ngettext_lazy as _n de...