IDEA(JAVA)使用json

首先介绍一下json

SON是一种取代XML的数据结构,和xml相比,它更小巧但描述能力却不差,由于它的小巧所以网络传输数据将减少更多流量从而加快速度。

JSON就是一串字符串 只不过元素会使用特定的符号标注。

{} 双括号表示对象

[] 中括号表示数组

"" 双引号内是属性或值

: 冒号表示后者是前者的值(这个值可以是字符串、数字、也可以是另一个数组或对象)

所以 {"name": "Michael"} 可以理解为是一个包含name为Michael的对象

而[{"name": "Michael"},{"name": "Jerry"}]就表示包含两个对象的数组

当然了,你也可以使用{"name":["Michael","Jerry"]}来简化上面一部,这是一个拥有一个name数组的对象

第一步:导入相关的jar包

我已经将所有需要的包打包好了,大家可以用打开这个链接下载,密码:k2gy

第二步:简单的示例(生成json)

由于我是要直接开发服务器的程序,所以这里做了一个简单的serverlet来示范一下,这里给出了三种生成json的方式,下面是代码 

package com.tanlei.json;

import net.sf.json.JSONArray;
import net.sf.json.JSONObject;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

@WebServlet("/json")
public class JsonServerlst extends HttpServlet {
    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.setContentType("text/html;charset=UTF-8");
        PrintWriter out =resp.getWriter();

        //1.普通生成json数据
        JSONObject job=new JSONObject();
        job.put("key","value");
        out.println(job);
        out.println("</br>");

        //2.通过list生成json数据
        List list=new ArrayList();
        list.add("first");
        list.add("second");
        list.add("third");
        JSONArray jsonArray=JSONArray.fromObject(list);
        out.println(jsonArray);
        out.println("</br>");

        //3.通过map生成json数据
        Map map=new HashMap();
        map.put("key1","value1");
        map.put("key2","value2");
        map.put("key3","value3");
        JSONObject jsonObject3=JSONObject.fromObject(map);
        out.println(jsonObject3);
        out.println("</br>");

        //4.Bean转换成json代码
        //JSONObject jsonObject =JSONObject.fromObject(new JsonBean());

        //5.数组转换成json代码
        boolean[] boolArray = new boolean[] { true, false, true };
        JSONArray jsonArray1 =JSONArray.fromObject(boolArray);
        out.println(jsonArray);
        out.println("</br>");

        //6.一般数据转换成json代码
        JSONArray jsonArray3 =JSONArray.fromObject("['json','is','easy']" );
        out.println(jsonArray3);
        out.println("</br>");
    }
}

第三步:(解析json)

原文地址:https://www.cnblogs.com/tanlei-sxs/p/10030596.html