jsonpointer.py 文件源码

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

项目:deb-python-json-pointer 作者: openstack 项目源码 文件源码
def walk(self, doc, part):
        """ Walks one step in doc and returns the referenced part """

        part = self.get_part(doc, part)

        assert (type(doc) in (dict, list) or hasattr(doc, '__getitem__')), "invalid document type %s" % (type(doc),)

        if isinstance(doc, Mapping):
            try:
                return doc[part]

            except KeyError:
                raise JsonPointerException("member '%s' not found in %s" % (part, doc))

        elif isinstance(doc, Sequence):

            if part == '-':
                return EndOfList(doc)

            try:
                return doc[part]

            except IndexError:
                raise JsonPointerException("index '%s' is out of bounds" % (part, ))

        else:
            # Object supports __getitem__, assume custom indexing
            return doc[part]
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号