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标记语句块使用方法总结

python标记语句块使用方法,python语言和其它的编程语言有着显著的区别,那就是python对格式的要求非常苛刻,好处就是书写上简易命令,写错了就会自动报错,但实际上标记语块非常容...

python3+PyQt5使用数据库窗口视图

python3+PyQt5使用数据库窗口视图

能够为数据库数据提供的最简单的用户界面之一就是窗体,窗体可以一次性呈现出来自同一记录的各个域。本文通过python3+pyqt5改写实现了python Qt gui 快速变成15章的例子...

Django在Win7下的安装及创建项目hello word简明教程

python广受欢迎的编程语言之一,本文简述了python 的django 框架安装与开发。 Django在Win7下的安装及创建项目hello word,相对而言非常简单,这里直接给出...

python pandas库的安装和创建

python pandas库的安装和创建

pandas 对于数据分析的人员来说都是必须熟悉的第三方库,pandas 在科学计算上有很大的优势,特别是对于数据分析人员来说,相当的重要。python中有了Numpy ,但是Numpy...

在Python3中初学者应会的一些基本的提升效率的小技巧

有时候我反问我自己,怎么不知道在Python 3中用更简单的方式做“这样”的事,当我寻求答案时,随着时间的推移,我当然发现更简洁、有效并且bug更少的代码。总的来说(不仅仅是这篇文章),...