java - 无法正确返回类的 JSONObject 字段
问题描述
我有一个如下所示的 DTO:
@Getter
@Setter
@AllArgsConstructor
public class LightRoundResponse {
private String round;
private JSONObject fields;
}
我能够从数据库中存储和获取 JSON 对象。在使用 ResultSet 的字段设置 DTO 的字段属性后,我可以在调试时看到包含正确数据的 JSONObject。
然而,我得到的回应是:
{
"round": "A Round",
"fields": {
"empty": false
}
}
fields 对象不正确,我认为因为它是 JSONObject 可能是一个问题,但我不确定。我怎样才能得到正确的回应而不是"empty": false
解决方案
将 JSONObject 转换为 Map 就可以完成这项工作。
例子:
public class LightRoundResponse {
private String round;
private Map fields;
public void setFields(JSONObject fields){
this.fields = fields.toMap();
}
}
我希望我能理解为什么 JSONObject 不起作用,但似乎社区也不知道。因此,发布一个解决方法,可以帮助面临同样问题的人。
推荐阅读
- r - 在R中绘制来自csv文件的数据
- c# - 无法将 WS-Security 标头添加到从 Web 参考构建的请求
- javascript - 如何在 mongoose 中查询 ObjectIds 数组?
- c++ - 你能解释一下这个语法吗:ros::Rate loop_rate(10);
- ssms - system.xml 中的 SSMS 无效字符
- selenium - 找不到满足要求 geckodriver==0.24.0 的版本(来自 -r /app/requirements.txt(第 4 行))错误与 Selenium Geckodriver
- python - 如何确定keras中的输入形状?
- xaml - 如何设置 WindowSize 修复?
- c# - WPF C# 仅显示 ICollectionView 分组
- npm - 安装节点后无法创建 package.json 文件