Jfinal中Model查询结果转换Json问题

Jfinal中Model查询结果转换Json问题

后知后觉 发布于 2021-11-26 字数 1467 浏览 799 回复 2

查询出来的对象都是这个结构:

{attrNames:[字段名...],  attrValues:[字段值...],   attrsEntrySet:[{字段名:字段值},{}...]},

我ajax请求到后台查询完了,想直接用Json返回到页面:

List<UserAccount> list = UserAccount.list(page, 15);                                            JSONObject jo = new JSONObject();
LOG.info(list.get(0).toJson());//单个对象我可以用自带的
jo.put("result", 0);
jo.put("msg", "");
jo.put("list", JSONArray.toJSON(list));//但我这是list啊...
renderJson(jo.toJSONString());

然后,页面js取每一条记录值麻烦了:保持和java对象一样的结构,但js没有Model那些get...的方法,看其他人程序,竟然要重新循环一遍查询结果list,手动put(key, value),整成[{字段名:字段值, 字段名:字段值},{}...]

List<Postcard> list = Postcard.getlist(page);
		JSONObject json = new JSONObject();
		if(list!=null){
			try {
				json.put("err", 0);
				JSONArray arr = new JSONArray();
				for(Postcard pc:list){
					JSONObject j = new JSONObject();
					j.put("id", pc.getLong("ID"));
					j.put("src", pc.get("Postcard"));
					arr.put(j);
				}
				json.put("arr", arr);
			} catch (JSONException e) {
				e.printStackTrace();
			}
		}
		renderJson(json.toString());

有不麻烦的方法么,

如果你对这篇文章有疑问,欢迎到本站 社区 发帖提问或使用手Q扫描下方二维码加群参与讨论,获取更多帮助。

扫码加入群聊

发布评论

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

评论(2

简单气质女生网名 2021-11-30 2 楼

就是这么easy。

复古式 2021-11-28 1 楼

直接 renderJson(list) 就打完收工了,不必这么绕弯子