本文整理汇总了Python中jsonpointer.JsonPointer.to_last方法的典型用法代码示例。如果您正苦于以下问题:Python JsonPointer.to_last方法的具体用法?Python JsonPointer.to_last怎么用?Python JsonPointer.to_last使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类jsonpointer.JsonPointer
的用法示例。
在下文中一共展示了JsonPointer.to_last方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: apply
# 需要导入模块: from jsonpointer import JsonPointer [as 别名]
# 或者: from jsonpointer.JsonPointer import to_last [as 别名]
def apply(self, obj):
try:
from_ptr = JsonPointer(self.operation['from'])
except KeyError as ex:
raise InvalidJsonPatch(
"The operation does not contain a 'from' member")
subobj, part = from_ptr.to_last(obj)
try:
value = subobj[part]
except (KeyError, IndexError) as ex:
raise JsonPatchConflict(str(ex))
if isinstance(subobj, MutableMapping) and \
self.pointer.contains(from_ptr):
raise JsonPatchConflict('Cannot move values into its own children')
obj = RemoveOperation({
'op': 'remove',
'path': self.operation['from']
}).apply(obj)
obj = AddOperation({
'op': 'add',
'path': self.location,
'value': value
}).apply(obj)
return obj
示例2: apply
# 需要导入模块: from jsonpointer import JsonPointer [as 别名]
# 或者: from jsonpointer.JsonPointer import to_last [as 别名]
def apply(self, obj):
from_ptr = JsonPointer(self.operation['from'])
subobj, part = from_ptr.to_last(obj)
value = copy.deepcopy(subobj[part])
obj = AddOperation({
'op': 'add',
'path': self.location,
'value': value
}).apply(obj)
return obj
示例3: apply
# 需要导入模块: from jsonpointer import JsonPointer [as 别名]
# 或者: from jsonpointer.JsonPointer import to_last [as 别名]
def apply(self, obj):
from_ptr = JsonPointer(self.operation['from'])
subobj, part = from_ptr.to_last(obj)
try:
value = copy.deepcopy(subobj[part])
except (KeyError, IndexError) as ex:
raise JsonPatchConflict(str(ex))
obj = AddOperation({
'op': 'add',
'path': self.location,
'value': value
}).apply(obj)
return obj
示例4: apply
# 需要导入模块: from jsonpointer import JsonPointer [as 别名]
# 或者: from jsonpointer.JsonPointer import to_last [as 别名]
def apply(self, obj):
try:
from_ptr = JsonPointer(self.operation["from"])
except KeyError as ex:
raise InvalidJsonPatch("The operation does not contain a 'from' member")
subobj, part = from_ptr.to_last(obj)
try:
value = copy.deepcopy(subobj[part])
except (KeyError, IndexError) as ex:
raise JsonPatchConflict(str(ex))
obj = AddOperation({"op": "add", "path": self.location, "value": value}).apply(obj)
return obj
示例5: test_path
# 需要导入模块: from jsonpointer import JsonPointer [as 别名]
# 或者: from jsonpointer.JsonPointer import to_last [as 别名]
def test_path(self):
doc = {'a': [{'b': 1, 'c': 2}, 5]}
ptr = JsonPointer('/a/0/b')
last, nxt = ptr.to_last(doc)
self.assertEqual(last, {'b': 1, 'c': 2})
self.assertEqual(nxt, 'b')
示例6: test_empty_path
# 需要导入模块: from jsonpointer import JsonPointer [as 别名]
# 或者: from jsonpointer.JsonPointer import to_last [as 别名]
def test_empty_path(self):
doc = {'a': [1, 2, 3]}
ptr = JsonPointer('')
last, nxt = ptr.to_last(doc)
self.assertEqual(doc, last)
self.assertTrue(nxt is None)