应用带有扩展名的JSONPatches(RFC 6902)

jsonpatchext的Python项目详细描述


python json补丁ext

PyPI versionSupported Python versions

在Python中应用JSON补丁

此模块将Pythonjsonpatch模块扩展到 添加“check”、“mutate”和“merge”操作。在

示例请参见源代码

示例

fromjsonpatchextimportJsonPatchExt,JsonPatchTestFaileddefStartsWithComparator(current,compare):ifnotcurrent.startswith(compare):msg='{0} ({1}) does not starts with {2} ({3})'raiseJsonPatchTestFailed(msg.format(current,type(current),compare,type(compare)))defRemoveLastMutator(current,value):returncurrent[:-1]patch=JsonPatchExt([{'op':'add','path':'/foo','value':{'bar':'bar'}},{'op':'check','path':'/foo/bar','value':'bar','cmp':'equals'},{'op':'merge','path':'/foo','value':{'newbar':'newbarvalue'}},{'op':'check','path':'/foo/newbar','value':'newb','cmp':'custom','comparator':StartsWithComparator},{'op':'mutate','path':'/foo/newbar','mut':'uppercase'},{'op':'mutate','path':'/foo/newbar','mut':'custom','mutator':RemoveLastMutator},])doc={}result=patch.apply(doc)print(result)checkpatch=JsonPatchExt([{'op':'check','path':'/foo/bar','value':'bar','cmp':'equals'},{'op':'check','path':'/foo/newbar','value':'NEWB','cmp':'custom','comparator':StartsWithComparator},])result=checkpatch.check(result)print(result)

输出:

^{pr2}$

作者

范围实数(rangelspam@gmail.com

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
使用applets查询的多人java游戏?   java如何基于字符串生成数组   基于java多边形的路径查找   java如何对多列ArrayList排序   java批处理更新从更新中返回了意外的行数(Spring/Hibernate)   java如何使用SeleniumWebDriver列出<tr>标记内的所有<td>   java如何使用SimpleFlatMapper将前缀为CSV的列别名到映射?   java为什么通过eclipse运行/调试TomCat时会出现ClassNotFoundException   java Android滚动视图上次视图未显示内部线性布局   替换字符串中不带空格的字符序列   调用方法时Java Swing GUI冻结   java是否允许/建议重用收集器?   在同步方法中使用java hashmap迭代器时   在java XMLDecoder XMLEncoder中写入XMLdatabase   java I无法在活动的片段中填充recyclerview   java Jitsi在调用过程中播放WAV文件如果可能,与音频混合   java JPA为什么我看到DB中每行有两个实体实例?