适用于 JSON 结构的 path 描述语法,用字符串形式便捷描述指定数据位置。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 |
# 简单数据结构路径描述语法 适用于 JSON 结构的 path 描述语法,用字符串形式便捷描述指定数据位置。 ## 简单类型 基本的路径描述语法。 ### 数值类型 字面量,如: `0` `1` `-1` ### 字符串类型 字面量,可选双引号,如: `string` `"string"` ### 布尔类型 字面量,如: `true` `false` ### 对象类型 点号分割,可选双引号,如: `object.key` `object."key"` ### 数组类型 中括号分割,可选数值索引或对象索引,如: `[]` `[0]` `[-1]` `[{key:value}]` `[{"key":"value"}]` ## 组合类型 多种路径描述语法组合使用。 ### 多层对象 多个对象类型组合,如: `object.key` `object.key.key` ### 多维数组 多个数组类型组合,如: `[][]` `[0][]` `[][0]` `[0][0]` `[{key:value}][0]` `[0][{key:value}]` `[{key:value}][{key:value}]` ### 对象和数组 对象和数组组合,如: `object.key[]` `object.key[].key` `object.key[{key:value}]` `object.key[{key:value}].key` `[].key` `[{key:value}].key` ## (扩展)运算符 基本的数据运算语法,可选小括号。 ### 算术运算符 `+` `-` `*` `/` `%` 如: `(0 + 1 - 2) * 3 / 4 % 5` `"string" + "string"` ### 比较运算符 `==` `!=` `>` `>=` `<` `<=` 如: `object.key == object.key` ### 逻辑运算符 `&&` `||` `!` 如: `object.key && object.key` ### 位运算符 `&` `|` `~` `^` `<<` `>>` 如: `object.key & object.key` |