fastjson2
fastjson2 copied to clipboard
[BUG] 在Android SDK 34下JSON::toJSONString返回{}
问题描述
简要描述您碰到的问题。
普通class正常 我定义了这样一个record
public record Device(String username, String deviceName) {
@Override
public String toString() {
return username + "@" + deviceName;
}
}
使用JSON::toJSONString后返回"{}"
环境信息
请填写以下信息:
- OS信息: Android 14
- JDK信息:17
- 版本信息:Fastjson2 2.0.40
重现步骤
如何操作可以重现该问题:
- 定义一个record类
- 新建对象
- 使用JSON::toJsonString并输出
期待的正确结果
对您期望发生的结果进行清晰简洁的描述。
返回{"deviceName":"2","username":"1"}
等结果
相关日志输出
没有看到相关日志
附加信息
无
在WIndows JDK 21环境下是正常的
能帮忙调试看下这个值么?
package com.alibaba.fastjson2.util;
public class JDKUtils {
public static final int JVM_VERSION;
}
https://github.com/alibaba/fastjson2/releases/tag/2.0.41 问题已修复,请用新版本
再次测试,问题仍然存在
调试变量数值
JDKUtils.JVM_VERSION = -1
JDKUtils.ANDROID_SDK_INT = 34
构建配置
compileSdk = 34
minSdk = 26
targetSdk = 34
我目前没有这样的机器,需要晚点时间借机器来测试
我目前没有这样的机器,需要晚点时间借机器来测试
理解,但是我也没有这样的机器,我只是在模拟器上测试app的时候发现的
请问模拟器是AS自带的, 还是mumu6、mumu12、雷电
@kraity 确实是在模拟器上跑的 随手测试的项目,已经放了很久了,忘记有没有真机测试了,而且我没有android 14的真机