json指针引用的子字符串扩展。
json_variable的Python项目详细描述
坚果壳
这是一个扩展json指针的非标准实现:
https://tools.ietf.org/html/draft-ietf-appsawg-json-pointer-04
它允许您从同一个 文档来自子字符串。
换句话说,json指针可以处理诸如:
{ "a": "foo", "b": "/a" }
然而,这提出了一个新的variable规范,需要额外的 模板:
{ "a": "foo", "b": "{{/a}}" }
通过使用模板,我们可以替换子字符串:
{ "a": "foo", "b": "{{/a}}, bar!" }
示例
这样做的动机是尝试在 应用程序的前端和后端,同一json中的设置 文档可以相互引用以防止重复。考虑一下 以下文件:
{ "USERNAME_REGEX": "[a-zA-Z0-9._-]{3,30}", "USERNAMES_REGEX": "{{/USERNAME_REGEX}}(?:,{{/USERNAME_REGEX}})*", "FILE_ID_REGEX": "{{/USERNAME_REGEX}}:\\d+" }
取消引用变量后,您将得到:
{ "USERNAME_REGEX": "[a-zA-Z0-9._-]{3,30}", "USERNAMES_REGEX": "[a-zA-Z0-9._-]{3,30}(?:,[a-zA-Z0-9._-]{3,30})*", "FILE_ID_REGEX": "[a-zA-Z0-9._-]{3,30}:\\d+" }
原始文档可读性更强,对第一个值进行了修订 只需要更改one行。