JSON数据的生成

来源:互联网 发布:联通网络ip地址丢失 编辑:程序博客网 时间:2024/05/16 23:55

JSON数据的生成

  • Json工具包的下载与导入

    1.在官网找到json-lib 链接,下载json-lib-2.4-jdk15.jar

    官网下载jar包

    2.下载json-lib以来的包

    依赖包

    3.养成好的习惯下载json -lib时间把源码包和doc包一起下载下来

    Doc

    4.导入到/WEB-INF/lib下

  • 生成json数据

    • 目录结构

      目录结构

    • JsonTools.java

package com.json.utils;import net.sf.json.JSONObject;/** * Json工具类 *  * @author QT * */public class JsonTools {    /**     * 创造json数据的静态静态方法     * 调用json lib 中的类来创建json数据     * @param key json键     * @param value json 值     * @return json字符串数据     */    public static String createJsonString(String key ,Object value){        //new 一个 JSONObject        JSONObject jsonObject=new JSONObject();        //放入键和值        jsonObject.put(key, value);        //toString()会自动帮你生成json数据        return jsonObject.toString();    }}
  • JsonService.java
package com.json.service;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import com.json.model.person;/** * Json 服务类 * 主要是得到需要转换为json格式的数据 * @author QT * */public class JsonService {    public JsonService() {    }    /**     * 字符串集合转换为json     * @return  字符串集合     */    public static List<String> getString(){        List<String> list=new ArrayList<String>();        list.add("看不见你的笑");        list.add("我怎么睡得着");        return list;    }    /**     * 对象转换为json     * @return person对象     */    public static person getPerson(){        person nick=new person(12,"nikan","87555",23);        return nick;    }    /**     * 对象集合转换为json     * @return  对象集合     */    public static List<person> getPersonList(){        List<person> list=new ArrayList<person>();        person jack=new person(12,"jack","8dda",17);        person rose=new person(13,"rose","asyasj",18);        person summer=new person(14,"summer","87dada555",23);        list.add(jack);        list.add(rose);        list.add(summer);        return list;    }    /**     * 对象map集合转换为json     * @return 对象map集合     */    public static List<Map<String,Object>> getMapList(){        List<Map<String,Object>> list=new ArrayList<Map<String,Object>>();        Map<String,Object> map1=new HashMap<String, Object>();        map1.put("jack", new person(12,"jack","8dda",17));        map1.put("rose", new person(13,"rose","asyasj",18));        Map<String,Object> map2=new HashMap<String, Object>();        map2.put("summer", new person(14,"summer","87dada555",23));        list.add(map1);        list.add(map2);        return list;    }}
  • person.java
package com.json.model;/** * perosn 实体类 * @author QT * */public class person {    private int id;    private String name;    private String password;    private int age;    public int getId() {        return id;    }    public void setId(int id) {        this.id = id;    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public String getPassword() {        return password;    }    public void setPassword(String password) {        this.password = password;    }    public int getAge() {        return age;    }    public void setAge(int age) {        this.age = age;    }    public person(int id, String name, String password, int age) {        super();        this.id = id;        this.name = name;        this.password = password;        this.age = age;    }    public person() {        // TODO Auto-generated constructor stub    }}
  • 本地测试类 JsonTest.java
package com.json.test;import com.json.service.JsonService;import com.json.utils.JsonTools;/** * java 本地测试类 * @author QT * */public class JsonTest {    public JsonTest() {        // TODO Auto-generated constructor stub    }    public static void main(String[] args) {        String message="";        /*字符串集合转换为json信息*/        // message=JsonTools.createJsonString("Rainbow", JsonService.getString());        /*对象转换为json信息*/        //message=JsonTools.createJsonString("person", JsonService.getPerson());        /*对象集合转换为json信息*/        //message=JsonTools.createJsonString("List", JsonService.getPersonList());        /*对象map集合转换为json信息*/        message=JsonTools.createJsonString("Map", JsonService.getMapList());        System.out.println(message);    }}
  • 本地运行结果

本地运行结构

  • 基于浏览器读取json JsonServlet.java
package com.json.servlet;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import com.json.service.JsonService;import com.json.utils.JsonTools;public class JsonServlet extends HttpServlet {    /**     * Constructor of the object.     */    public JsonServlet() {        super();    }    /**     * Destruction of the servlet. <br>     */    public void destroy() {        super.destroy(); // Just puts "destroy" string in log        // Put your code here    }    /**     * The doGet method of the servlet. <br>     *     * This method is called when a form has its tag value method equals to get.     *      * @param request the request send by the client to the server     * @param response the response send by the server to the client     * @throws ServletException if an error occurred     * @throws IOException if an error occurred     */    public void doGet(HttpServletRequest request, HttpServletResponse response)            throws ServletException, IOException {        doPost(request,response);    }    /**     * The doPost method of the servlet. <br>     *     * This method is called when a form has its tag value method equals to post.     *      * @param request the request send by the client to the server     * @param response the response send by the server to the client     * @throws ServletException if an error occurred     * @throws IOException if an error occurred     */    public void doPost(HttpServletRequest request, HttpServletResponse response)            throws ServletException, IOException {        /*设置内容编码格式,和request response流编码格式*/        response.setContentType("text/html;charset=utf-8");        request.setCharacterEncoding("utf-8");        response.setCharacterEncoding("utf-8");        /*         * 在网页上展示json信息         */        PrintWriter out = response.getWriter();        String message=JsonTools.createJsonString("Map", JsonService.getMapList());        out.print(message);        out.flush();        out.close();    }    /**     * Initialization of the servlet. <br>     *     * @throws ServletException if an error occurs     */    public void init() throws ServletException {        JsonService jsonService =new JsonService();    }}
  • 浏览器运行结果

浏览器运行结果

0 0
原创粉丝点击