首先介紹一下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)