Python中判断对象是否为JSON

主要使用异常捕捉来判定:如果使用json.loads时产生异常,则判断不是JSON。

单独使用判断

核心的代码如下:

try:
    json.loads(input_str)
    return True
except:
    return False

但是这个input_str输入的必须是字符串。

如果放在整个代码中,

# -*- coding:utf8 _8-
import json

def check_json(input_str):
    try:
        json.loads(input_str)
        return True
    except:
        return False

def print_result(input_str):
    if check_json(input_str):
        print "This is a valid json."
    else:
        print "not a valid json."

if __name__ == '__main__':
    
    data_json = {
        'Name':'John',
        'Age':18,
        'Gender':'Male'
    }
    data_str = json.dumps(data_json)

    str = "hello"

    print_result(data_json)
    print_result(data_str)
    print_result(str)

结果是:

not a valid json.
This is a valid json.
not a valid json.

循环中判断

代码使用的核心代码就是,try之后成功不做什么,如果失败就return

    try:
        json.loads(s.content)
    except:
        return

你可能感兴趣的:(Python中判断对象是否为JSON)