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格式方法分享的全部内容,希望对大家有所帮助。
python判断字符串是否是json格式方法分享的更多相关文章
- 【最简单的方法】js判断字符串是否为JSON格式(20180115更新)
前言 针对 “js判断字符串是否为JSON格式” 这个问题,在网上查了许多资料,都没找到自己想要的答案. 但是看到这个帖子<js判断字符串是否为JSON格式>后,突然灵光一闪,想到一种很简 ...
- JS-try/catch方法判断字符串是否为json格式
定义: try/catch 语句用于处理代码中可能出现的错误信息,出现异常会导致程序崩溃,而try/catch 则可以保证程序的正常运行. try { //执行代码 不报错则 正常执行 不会进入下面的 ...
- python判断字符串是否为空的方法s.strip()=='' if not s.strip():
python 判断字符串是否为空用什么方法? 复制代码 s=' ' if s.strip()=='': print 's is null' 或者 if not s.strip(): p ...
- js判断字符串是否为JSON格式
不能简单地使用来判断字符串是否是JSON格式: function isJSON(str) { if (typeof str == 'string') { try { JSON.parse(str); ...
- js 判断字符串是否为JSON格式
function isJSON(str) { if (typeof str == 'string') { try { var obj=JSON.parse(str); if(typeof obj == ...
- JS判断字符串长度的5个方法
这篇文章主要介绍了JS判断字符串长度的5个方法,并且区分中文和英文,需要的朋友可以参考下 目的:计算字符串长度(英文占1个字符,中文汉字占2个字符) 方法一: 代码如下: String.pr ...
- python判断字符串
python判断字符串 s为字符串s.isalnum() 所有字符都是数字或者字母s.isalpha() 所有字符都是字母s.isdigit() 所有字符都是数字s.islower() 所有字符都是小 ...
- 字符串--java中判断字符串是否为数字的方法的几种方法?
ava中判断字符串是否为数字的方法: 1.用JAVA自带的函数 public static boolean isNumeric(String str){ for (int i = 0; i < ...
- java中判断字符串是否为数字的方法的几种方法
1.用JAVA自带的函数 public static boolean isNumeric(String str){ for (int i = 0; i < str.length(); i++){ ...
随机推荐
- Netty内存池ByteBuf 内存回收
内存池ByteBuf 内存回收: 在前面的章节中我们有提到, 堆外内存是不受JVM 垃圾回收机制控制的, 所以我们分配一块堆外内存进行ByteBuf 操作时, 使用完毕要对对象进行回收, 本节就以Po ...
- POJ-2456.Aggressivecows.(二分求解最大化最小值)
本题大意:在坐标轴上有n个点,现在打算在这n个点上建立c个牛棚,由于牛对厂主的分配方式表示很不满意,它很暴躁,所以它会攻击离它很近的牛来获得快感,这件事让厂主大大知道了,他怎么可能容忍?所以他决定有策 ...
- Git 本地创建分支并提交远程分支
在本地git checkout -b xxx 创建分支之后 想要提交分支到远程, 直接git push是不行的, 除非原来的分支里面就有这个分支. 需要先使用:git push origin xxx ...
- F. Fixing Banners
http://codeforces.com/gym/102394/problem/F F. Fixing Banners time limit per test 1 second memory lim ...
- CocosCreator与Laya2.0区别
1图集: Laya:直接拖拽res里面的图片,当生成图集后,会自动优先使用图集的 Cocos:应该先打图集,且图集里的图就是图集里的图,资源里的图就是资源里的.2者不同 addChild Laya:会 ...
- Delphi Unicode学习
String.AnsiString及Tbytes之间的转换一.string转为AnsiString1.直接赋值 (有警告)2.AnsiString()类型强制转换.(无警告) 二.AnsiString ...
- 实现类似add(1)(2)(3)结果为6的效果
前两天看到一个问题说怎样实现add方法实现add(1)(2)(3)结果为6,于是开始引发了我的思考. 1.想要实现add()()这样调用方式,add()方法的返回值务必是一个函数 function a ...
- win7 开启 telnet 服务
如何重新开启win7的telnet服务 “控制面板”-->“系统和安全”-->“允许远程访问”-->“远程桌面”-->“选择用户”,添加可telnet的用户. “控制面板”-- ...
- 菜鸟程序员成长史 --记 Github 1000+ contributions
其实一直以来想写一篇文章总结这几年的技术学习,刚好趁着自己的第一次github contribution 达到1000+,写篇文章总结以下.本文篇幅较长,我会分为几个章节来分别阐述. 博客篇 为什么我 ...
- 刚新建好的动态网站项目,创建jsp页面就报错??
拿到刚刚可以运行的Eclipse,就马上想敲码了,但一创建项目之后再创建jsp页面就报错= =! 报错的内容大概为缺乏对应的jar包. 我们常用Tomcat为中间体,而他本身是带有开发jsp网站的对应 ...