public class Demo {
private List<String> list;
}
@GetMapping(value = "/demo")
public Result<?> demo() {
List<String> s = new ArrayList<>();
s.add("1");
s.add("2");
Demo demo = new Demo();
demo.setList(s);
return Result.OK(demo);
}
{
"success": false,
"message": "操作失败,can not cast to JSONObject.",
"code": 500,
"result": null,
"timestamp": 1632729874395
}
但是外面封装一层就可以
public class DemoVO {
private Demo demo;
}
public class Demo {
private List<String> list;
}
@GetMapping(value = "/demo")
public Result<?> demo() {
List<String> s = new ArrayList<>();
s.add("1");
s.add("2");
Demo demo = new Demo();
demo.setList(s);
DemoVO demoVO = new DemoVO();
demoVO.setDemo(demo);
return Result.OK(demoVO);
}
{
"success": true,
"message": "操作成功!",
"code": 200,
"result": {
"demo": {
"list": [
"1",
"2"
]
}
},
"timestamp": 1632730217519
}
各位有知道是啥原因的吗?
我比较在意你第一次报错的日志
Result类所有属性和方法贴出来,要不然无法定位,按理说不会有问题的
根据 Result类有关 应该设置的泛型有问题 导致普通对象能转化json List不能转化为json
抛异常的地方打个断点
at org.jeecg.common.aspect.DictAspect.parseDictText(DictAspect.java:291)
貌似这里有bug,
DictAspect.java:291里在解析最外层对象对list处理,和内层对象对list处理不一致。
解决方法:给DictAspect.java提bug,或者按你的做法包一层对象。
这里的251-262行参考一下
https://github.com/alibaba/fastjson/blob/master/src/main/java/com/alibaba/fastjson/JSON.java