python3判断一个字符串是否为标准字符串
直接上代码
import json
def is_json(test_str):
try:
json_object = json.loads(test_str)
except Exception as e:
return False
return True
测试
print(is_json("{}"))
print(is_json("{asdf}"))
print(is_json('{ "age":100}'))
print(is_json("{'age':100 }"))
print(is_json("{\"age\":100 }"))
print(is_json('{"age":100 }'))
print(is_json('{"foo":[5,6.8],"foo":"bar"}'))
存在问题 我们发现在非json字符串"123"在该方法下返回为true,明显存在问题,因此再接下来对判断方发进行改进。代码如下:
def is_json(test_str):
try:
json_object = int(test_str)
return False
except:
pass
try:
json_object = json.loads(test_str)
except Exception as e:
return False
return True
完美解决。
|