diff options
author | Stefan Kögl <stefan@skoegl.net> | 2012-12-14 12:35:14 +0100 |
---|---|---|
committer | Stefan Kögl <stefan@skoegl.net> | 2012-12-14 12:35:14 +0100 |
commit | 0869f4efb2b5579583311d20835112a4d26d8d8a (patch) | |
tree | 27dbf6edc40c6d601762de661b27f12b707f8391 | |
parent | 76500aa810b5a96b27a313720b63e338ba568cc9 (diff) | |
download | python-json-pointer-0869f4efb2b5579583311d20835112a4d26d8d8a.tar.gz |
fix validation of array indices
-rw-r--r-- | jsonpointer.py | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/jsonpointer.py b/jsonpointer.py index 204cb59..4868b26 100644 --- a/jsonpointer.py +++ b/jsonpointer.py @@ -122,6 +122,9 @@ class JsonPointer(object): def to_last(self, doc, default=_nothing): """ Resolves ptr until the last step, returns (sub-doc, last-step) """ + if not self.parts: + return doc, None + for part in self.parts[:-1]: doc = self.walk(doc, part) @@ -158,7 +161,7 @@ class JsonPointer(object): if part == '-': return part - if not RE_ARRAY_INDEX.match(part): + if not RE_ARRAY_INDEX.match(str(part)): raise JsonPointerException("'%s' is not a valid list index" % (part, )) return int(part) |