您的位置:首页 > Web前端 > JavaScript

JSON数据的生成

2015-07-27 16:46 579 查看

JSON数据的生成

Json工具包的下载与导入

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



2.下载json-lib以来的包



3.养成好的习惯下载json -lib时间把源码包和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();
    }

}


浏览器运行结果

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: