fastjson 表达式
Fastjson(快速 JSON)是一个用于处理 JSON 数据的 Java 库。它提供了强大的功能,包括将 Java 对象转换为 JSON 字符串以及将 JSON 字符串转换为 Java 对象。此外,Fastjson 还支持一种称为 "JSONPath" 的表达式语言,用于在 JSON 数据中执行查询、筛选和操作。
JSONPath 是一种类似于 XPath 的语法,允许你通过简洁的表达式来访问和操作 JSON 数据的各个部分。以下是一些常见的 JSONPath 表达式示例:
1. 访问属性:
  通过点号(`.`)来访问 JSON 对象的属性。
  ```json
  {"name": "John", "age": 30}
  $.name  // 输出:John
  $.age  // 输出:30
fastjson忽略属性  ```
2. 访问数组元素:
  使用方括号(`[]`)来访问 JSON 数组的元素。
  ```json
  {"fruits": ["apple", "banana", "orange"]}
  $.fruits[0]  // 输出:apple
  $.fruits[2]  // 输出:orange
  ```
3. 通配符:
  使用星号(`*`)作为通配符,匹配所有元素。
  ```json
  {"fruits": ["apple", "banana", "orange"]}
  $.fruits[*]  // 输出:["apple", "banana", "orange"]
  ```
4. 筛选:
  使用方括号内的条件来筛选数组中符合条件的元素。
  ```json
  {"people": [{"name": "John", "age": 30}, {"name": "Alice", "age": 25}]}
  $.people[?(@.age > 28)]  // 输出:[{"name": "John", "age": 30}]
  ```
5. 多重筛选:
  可以使用逻辑运算符来组合多个条件。
  ```json
  {"people": [{"name": "John", "age": 30}, {"name": "Alice", "age": 25}]}
  $.people[?(@.age > 28 && @.name == "John")]  // 输出:[{"name": "John", "age": 30}]
  ```
6. 嵌套访问:
  可以通过点号和方括号来进行深度访问。
  ```json
  {"person": {"name": "John", "address": {"city": "New York"}}}
  $.person.address.city  // 输出:New York
  ```
以上只是 JSONPath 表达式的一些基本用法示例。你可以根据具体需求来组合和扩展这些表达式,以在 JSON 数据中进行定位、筛选和操作。