【发布时间】:2015-07-17 19:17:52
【问题描述】:
【问题讨论】:
标签: json json-patch jsonpointer
【问题讨论】:
标签: json json-patch jsonpointer
在 JSON 指针中,您需要使用 ~1 来编码您希望将 / 作为路径中属性名称的一部分。因此,~ 具有特殊含义,作为转义序列的指示符,不再表示真正的波浪号。真正的波浪号表示为转义序列~0。
换句话说(引自 JSON Pointer 规范):
每个参考标记的评估从解码任何转义开始 字符序列。这是通过首先转换任何 出现序列 '~1' 到 '/',然后转换任何 出现序列 '~0' 到 '~'。通过执行 按此顺序替换,实现避免了错误 首先将“~01”变成“~1”,然后变成“/”,这将是 不正确(字符串 '~01' 正确变为 '~1' 后 转换)。
在这里查看 JSON Patch 测试可能会很有趣:https://github.com/json-patch/json-patch-tests/blob/master/spec_tests.json#L200(搜索 ~)
【讨论】: