Node.py 文件源码

python
阅读 37 收藏 0 点赞 0 评论 0

项目:SoCFoundationFlow 作者: mattaw 项目源码 文件源码
def read_json(self, convert=True, encoding='utf-8'):
        """
        Read and parse the contents of this node as JSON::

            def build(bld):
                bld.path.find_node('abc.json').read_json()

        Note that this by default automatically decodes unicode strings on Python2, unlike what the Python JSON module does.

        :type  convert: boolean
        :param convert: Prevents decoding of unicode strings on Python2
        :type  encoding: string
        :param encoding: The encoding of the file to read. This default to UTF8 as per the JSON standard
        :rtype: object
        :return: Parsed file contents
        """
        import json # Python 2.6 and up
        object_pairs_hook = None
        if convert and sys.hexversion < 0x3000000:
            try:
                _type = unicode
            except NameError:
                _type = str

            def convert(value):
                if isinstance(value, list):
                    return [convert(element) for element in value]
                elif isinstance(value, _type):
                    return str(value)
                else:
                    return value

            def object_pairs(pairs):
                return dict((str(pair[0]), convert(pair[1])) for pair in pairs)

            object_pairs_hook = object_pairs

        return json.loads(self.read(encoding=encoding), object_pairs_hook=object_pairs_hook)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号