EJB中Gson使用tojson()出现的一系列问题

在EJB服务端尝试使用Gson将List<User>转换为JSON字符串时遇到问题。由于User对象中的懒加载设置,直接转换失败。解决方法是创建自定义的Gson配置,避免使用默认配置。此外,当值传递到客户端时,格式不是标准的JSON,而是对象的默认toString()结果。为了解决这个问题,需要重写User类的toString()方法以返回符合JSON格式的字符串。
摘要由CSDN通过智能技术生成


今天在写EJB服务端代码,(ˇˍˇ) 想在客户端与服务器之间通过Json传List<User>对象,出现如下错误,并给出我自己的解决方法


1.服务端---无法将List对象转为String,正常的List都可以转的

        Gson gson=new Gson();

        List<User> users=query.getResultList();
        return gson.toJson(users);

原因:网上说User对象中存在Lazy懒加载设置,设为EAGER即可,但我试了下对我的代码不起作用

解决方案:

使用自定义的gson配置,不使用默认的,如何配置请看博客相关文章。

           <span style="color:#FF0000;">Gson gson = new GsonBuilder().registerTypeHierarchyAdapter(User.class, new MyTypeAdapter<User>()).create();</span>

           List<User> users=query.getResultList();
           return gson.toJson(users);


<span style=&
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值