JSON
一.首先导入相关的jar包
1.commons-beanutils-1.8.3.jar
2.commons-collections.jar
3.commons-lang.jar
4.commons-logging-1.1.1.jar
5.commons-logging-1.1.1.jar
6.json-lib-2.4-jdk15
二:说明:
1,JSONObject
json对象,就是一个键对应一个值,使用的是大括号{ },如:{key:value}
2,JSONArray
json数组,使用中括号[ ],只不过数组里面的项也是json键值对格式的
Json对象中添加的是键值对,JSONArray中添加的是Json对象
三:使用范例:
1.JSONObject传递key/value
@Test public void test() { JSONObject object = new JSONObject(); object.put("key","value"); System.out.println(object.toString()); }
结果:{"key":"value"}
2.传递数组信息
@Test public void test3() { String[] arr = {"asd","dfgd","asd","234"}; JSONArray jsonArray = JSONArray.fromObject(arr); System.out.println(jsonArray.toString()); }
["asd","dfgd","asd","234"]
3.传递对象信息:
注意:Person必须是public类型,否则会报
net.sf.json.JSONException: java.lang.NoSuchMethodException: Property ‘name‘ has no getter method
@Test public void test2() { Person p = new Person(11,"wpr"); JSONObject jsonObject = JSONObject.fromObject(p); System.out.println(jsonObject.toString()); }
{"name":"wpr","userId":11}
@Test public void test4() { Person p = new Person(11,"wpr"); JSONObject jsonObject = new JSONObject(); jsonObject.put("person",p); System.out.println(jsonObject.toString()); }
{"person":{"name":"wpr","userId":11}}
4.json传递map对象
Map map和json都是键值对,不同的是map中键值对中间用等号分开,json中键值对中间用冒号分开。其实json就是一种特殊形式的map。
@Test public void test5() { Map<String,String> map = new JSONObject(); map.put("key1","value1"); map.put("key2","value2"); map.put("key3","value3"); System.out.println(map.toString()); }
{"key1":"value1","key2":"value2","key3":"value3"}
最后说明一下:
当使用Servlet先前台传递Json时,只需要修改输出流就可以了
PrintWrite out = response.getWriter();
out.print(JsonObject);
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。