JSON指针中波形符的用途

Bre*_*mir 6 json json-patch jsonpointer

JSON指针规范状态:

字符'〜'(%x 7E)和'/'(%x2F)在JSON指针中有特殊含义

很清楚'/'用于什么,但我没有看到波形符的用途(仅提及它需要被转义以及如何).

war*_*ech 7

在JSON指针中,您需要使用~1编码/作为路径中属性名称的一部分.因此,~获得特殊含义作为转义序列的指示符,不再表达真正的代字号.真正的波浪号表示为转义序列~0.

换句话说(引自JSON Pointer规范):

每个参考令牌的评估从解码任何转义字符序列开始.这是通过首先将序列'~1'的任何出现变换为'/',然后将序列'~0'的任何出现变换为'〜'来执行的.通过按此顺序执行替换,实现避免了将'~01'首先转换为'~1'然后转换为'/'的错误,这将是不正确的(字符串'~01'正确变为'~1'之后转型).

看看JSON补丁测试可能会很有趣:https://github.com/json-patch/json-patch-tests/blob/master/spec_tests.json#L200(搜索~)