JSON指针中波形符的用途

时间:2015-07-17 19:17:52

标签: json json-patch jsonpointer

JSON Pointer规范声明:

  

字符'〜' (%x7E)和' /' (%x2F)具有特殊含义   JSON指针

很明显' /'用于,但我没有看到波形符的用途(仅提及它需要转义以及如何)。

1 个答案:

答案 0 :(得分:6)

在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(搜索~