在Web开发中,经常需要从后端生成JSON数据作为响应给前端。本文将介绍如何在Action中生成JSON。
public class UserAction extends ActionSupport { private List<User> users; // setter and getter methods public String execute() { users = new ArrayList<User>(); users.add(new User("John","Doe")); users.add(new User("Jane","Doe")); return SUCCESS; } public String getUsersJson() { JSONArray jsonArray = new JSONArray(); for (User user : users) { JSONObject jsonObject = new JSONObject(); jsonObject.put("firstName",user.getFirstName()); jsonObject.put("lastName",user.getLastName()); jsonArray.add(jsonObject); } return jsonArray.toString(); } }
首先,在Action中定义一个List<User>类型的变量,用于存储用户数据。execute()方法中,我们向users列表中添加了两个User对象实例,这些数据将在getUsersJson()方法中生成JSON数据。
在getUsersJson()方法中,我们使用了JSON-java库提供的JSONArray和JSONObject类来生成JSON数据。首先,我们创建一个JSONArray实例,然后遍历users列表,取出每个User对象的firstName和lastName属性值,并将这些值存储到一个JSONObject实例中。随后,将JSONObject实例添加到JSONArray实例中。
最后,调用JSONArray实例的toString()方法,将JSONArray对象转换为JSON字符串。在JSP页面中,我们可以通过Ognl表达式调用Action中的方法来获取JSON数据。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。