关于JFianl的 JsonKit.parse 的疑问

发布于 2021-12-01 15:09:34 字数 539 浏览 827 评论 5

@JFinal 你好,想跟你请教个问题:




错误提示

jfinal 2.2默认 json 实现暂不支持 json 到 object 的转换,建议使用 active recrord 的 Generator 生成 base model,再通过 me.setJsonFactory(new JacksonFactory()) 来支持


已经使用了Generator生成了basemodel相关类目并且在configConstant中添加了me.setJsonFactory(new JacksonFactory()); 也有jackson的相关3个jar包。


在使用 JsonKit.parse(array.getJSONObject(i).toString(), User.class); 的时候还是会提示以上错误。



如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

岁月打碎记忆 2021-12-03 19:08:31

感谢波总,我的json应用比较轻 在不得已的情况下才使用Jackson和FastJson

深巷少女 2021-12-03 18:31:02

已经换成FastJson了 再次感谢。

归途 2021-12-03 17:27:02

回复
@本人纯属虚构 : 前面你提到的使用 jackson 后还是出异常,这个应该是不会发生的,找到原因了没?

酒几许 2021-12-03 12:30:16

回复
@JFinal : 没有去调试 感觉可能是jachson的路由没找到

居里长安 2021-12-03 02:05:15

应该是没生效,此外建议使用 FastJsonFactory,下面是 jfinal.com 使用的 json 扩展,可以参考一下:

public class MyJsonFactory implements IJsonFactory {

  private static MyJson myJson =  new MyJson();

  public Json getJson() {
    return myJson;
  }

  private static class MyJson extends Json {
   private static JFinalJson jFinalJson = JFinalJson.getJson();
   private static FastJson fastJson = FastJson.getJson();

   public String toJson(Object object) {
     return jFinalJson.toJson(object);
   }

   public <T> T parse(String jsonString, Class<T> type) {
     return fastJson.parse(jsonString, type);
   }
  }
}

   此扩展是转 jsonString 使用的是 JFinalJson,反向转对象是用的 FastJson

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文