首先介绍一下json
SON是一种取代XML的数据结构,和xml相比,它更小巧但描述能力却不差,由于它的小巧所以网络传输数据将减少更多流量从而加快速度。
JSON就是一串字符串 只不过元素会使用特定的符号标注。
{} 双括号表示对象
[] 中括号表示数组
"" 双引号内是属性或值
: 冒号表示后者是前者的值(这个值可以是字符串、数字、也可以是另一个数组或对象)
所以 {"name": "Michael"} 可以理解为是一个包含name为Michael的对象
而[{"name": "Michael"},{"name": "Jerry"}]就表示包含两个对象的数组
当然了,你也可以使用{"name":["Michael","Jerry"]}来简化上面一部,这是一个拥有一个name数组的对象
第一步:导入相关的jar包
我已经将所有需要的包打包好了,大家可以用打开这个链接下载,密码:k2gy
第二步:简单的示例(生成json)
由于我是要直接开发服务器的程序,所以这里做了一个简单的serverlet来示范一下,这里给出了三种生成json的方式,下面是代码
packagecom.tanlei.json;importnet.sf.json.JSONArray;importnet.sf.json.JSONObject;importjavax.servlet.ServletException;importjavax.servlet.annotation.WebServlet;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importjava.io.IOException;importjava.io.PrintWriter;importjava.util.ArrayList;importjava.util.HashMap;importjava.util.List;importjava.util.Map;
@WebServlet("/json")public class JsonServerlst extendsHttpServlet {
@Overrideprotected void service(HttpServletRequest req, HttpServletResponse resp) throwsServletException, IOException {
resp.setContentType("text/html;charset=UTF-8");
PrintWriter out=resp.getWriter();//1.普通生成json数据
JSONObject job=newJSONObject();
job.put("key","value");
out.println(job);
out.println("");//2.通过list生成json数据
List list=newArrayList();
list.add("first");
list.add("second");
list.add("third");
JSONArray jsonArray=JSONArray.fromObject(list);
out.println(jsonArray);
out.println("");//3.通过map生成json数据
Map map=newHashMap();
map.put("key1","value1");
map.put("key2","value2");
map.put("key3","value3");
JSONObject jsonObject3=JSONObject.fromObject(map);
out.println(jsonObject3);
out.println("");//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("");//6.一般数据转换成json代码
JSONArray jsonArray3 =JSONArray.fromObject("['json','is','easy']");
out.println(jsonArray3);
out.println("");
}
}
第三步:(解析json)