alibaba / alibaba/fastjson2

JSONPath.eval方法对于数组,列表格式的路径解析与1.X的输出结果不一致

Open
#2,200 1 comment 0 reactions 0 assignees View on GitHub
bug
Dominant language
Java
Stars
4.4k
Forks
613
Avg merge
1d 22h
Merged PRs (30d)
6

Description

### 问题描述
JSONPath.eval方法对于数组,列表格式的路径解析与1.X的输出结果不一致

### 环境信息
*请填写以下信息:*

- OS信息: [e.g.:CentOS 8.4.2105 4Core 3.10GHz 16 GB]
- JDK信息: [e.g.:Openjdk 1.8.0_381]
- 版本信息:[e.g.:Fastjson2 2.0.45]

### 重现步骤
*如何操作可以重现该问题:*

1. 使用 `xxx.xxx` 方法
2. 输入 `...` 数据
3. 出现 `...` 错误
```java
//可在此输入示例代码
```
@Data
public static class Obj1 {
private String startTime;
}

public static void main(String[] args) throws IOException {
List list = new ArrayList<>();
Obj1 obj1 = new Obj1();
obj1.setStartTime("222");
list.add(obj1);
System.out.println(JSONPath.eval(list, "$.startTime"));
System.out.println(com.alibaba.fastjson.JSONPath.eval(list, "$.startTime"));
}
### 期待的正确结果
*对您期望发生的结果进行清晰简洁的描述。*

### 相关日志输出
*请复制并粘贴任何相关的日志输出。*
![image](https://github.com/alibaba/fastjson2/assets/32407444/1127af4e-72b1-4978-bebf-56d4029d49f4)

#### 附加信息
*如果你还有其他需要提供的信息,可以在这里填写(可以提供截图、视频等)。*

Contributor guide

Open the contributing guide

Research direction

Start at the JSONPath.eval entry point and reproduce the provided Java example with a list of Obj1 values. Compare its output with com.alibaba.fastjson.JSONPath.eval from fastjson 1.X; done means the fastjson2 result matches the prior behavior for this array/list path, with a regression test documenting the expected output.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
backend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.