返されたPython文字列がJSON形式に準拠しているかどうかを判断する方法

def is_json(msg):
    # 首先判断是否是字符串
    if isinstance(msg, str):
        # 在这里先判断是否为数字类型的数据
        try:
            isinstance(int(msg), int)
            return ("这个不是json类型数据")
        except:
            pass

        try:
            # 其次进行转换成python自带的数据类型
            json.loads(msg)
            return ("这个是json类型数据")
        except ValueError:
            return ("这个不是json类型数据")

    else:
        return ("这个不是json类型数据")

上記のコードでは、返された文字列が int 型に変換できるかどうかを最初に判断するのはなぜでしょうか。

実践により、「123」も上記の検証に合格できることが証明されているためです (次の図に示すように)。

 したがって、これを最適化するには

 

おすすめ

転載: blog.csdn.net/weixin_43569834/article/details/131324344