问题描述
简要描述您碰到的问题。
使用fastjson2的过程中发现,fastjson2 开启引用检测后, 不能检测到 HashSet 类型中的元素的引用关系,fastjson1是可以的。
环境信息
请填写以下信息:
- OS信息: CentOS 8.4.2105 4Core 3.10GHz 16 GB]
- JDK信息: Openjdk 1.8.0_312]
- 版本信息:Fastjson2 2.0.60
重现步骤
如何操作可以重现该问题:
- 使用
JSON.toJsonString 方法
- 输入数据: 对HashSet 进行序列化, 发现fastjson2 无法检测到Set中的元素的引用关系。
期待的正确结果
对您期望发生的结果进行清晰简洁的描述。
{
"data": [
{
"Person": {
"testSet": [
{
"xxx1": "123",
"xxx2": "123",
"xxx3": "123"
}
]
}
}
],
"Person": {
"testSet": [
{
"$ref": "$.data[0].Person.testSet[0]"
}
]
}
}
实际结果:
{
"data": [
{
"Person": {
"testSet": [
{
"xxx1": "123",
"xxx2": "123",
"xxx3": "123"
}
]
}
}
],
"Person": {
"testSet": [
{
"xxx1": "123",
"xxx2": "123",
"xxx3": "123"
}
]
}
}
相关日志输出
请复制并粘贴任何相关的日志输出。
附加信息
如果你还有其他需要提供的信息,可以在这里填写(可以提供截图、视频等)。
涉及代码位置: com.alibaba.fastjson2.writer.ObjectWriterImplCollection#write 未对HashSet中的元素做引用检测
问题描述
简要描述您碰到的问题。
使用fastjson2的过程中发现,fastjson2 开启引用检测后, 不能检测到 HashSet 类型中的元素的引用关系,fastjson1是可以的。
环境信息
请填写以下信息:
重现步骤
如何操作可以重现该问题:
JSON.toJsonString方法//可在此输入示例代码期待的正确结果
对您期望发生的结果进行清晰简洁的描述。
{
"data": [
{
"Person": {
"testSet": [
{
"xxx1": "123",
"xxx2": "123",
"xxx3": "123"
}
]
}
}
],
"Person": {
"testSet": [
{
"$ref": "$.data[0].Person.testSet[0]"
}
]
}
}
实际结果:
{
"data": [
{
"Person": {
"testSet": [
{
"xxx1": "123",
"xxx2": "123",
"xxx3": "123"
}
]
}
}
],
"Person": {
"testSet": [
{
"xxx1": "123",
"xxx2": "123",
"xxx3": "123"
}
]
}
}
相关日志输出
请复制并粘贴任何相关的日志输出。
附加信息
如果你还有其他需要提供的信息,可以在这里填写(可以提供截图、视频等)。
涉及代码位置: com.alibaba.fastjson2.writer.ObjectWriterImplCollection#write 未对HashSet中的元素做引用检测