1.需要使用第三方jar
commons-beanutils-1.7.0.jar /commons-collections-3.1.jar/commons-lang-2.5jar /commons-logging-1.1.1.jar /exmorph-1.0.3.jar/json-lib-2.1-jdk15.jar
2.转换语法
(1)javaBean---->json
JSONArray jsonArray = JSONArray.formatObject(city);
String jsonJava = jsonArray.toString();
(2)List<JavaBean>----->json
JSONArray jsonArray = JSONArray.formatObject(cityList);
String jsonJava = jsonArray.toString();
(3)List<String>--->json
JSONArray jsonArray = JSONArray.formatObject(StringList);
String jsonJava = jsonArray.toString();
(4)Set<JavaBean>----->JSON
JSONArray jsonArray = JSONArray.formatObject(citySet);
String jsonJava = jsonArray.toString();
(5)Map<String,Object>----->JSON
JSONArray jsonArray = JSONArray.formatObject(map);
String jsonJava = jsonArray.toString();
我们可以是struts2可以将数据转换成json,也可以通过第三方jar,将数据转换成json.
3.举例:javaBean---->json
public class TestBean2Json { private static void javabean2json() { City city = new City(1,"陕西"); JSONArray jSONArray = JSONArray.fromObject(city); String jsonJAVA = jSONArray.toString(); System.out.println(jsonJAVA); //[{"id":1,"name":"陕西"}] }
Map<String,Object>----->JSON
MAP: private static void map2json() { List<City> cityList = new ArrayList<City>(); cityList.add(new City(1,"西安")); cityList.add(new City(2,"临潼")); Map<String,Object> map = new LinkedHashMap<String,Object>(); map.put("total",cityList.size());//表示集合的长度 map.put("rows",cityList);//rows表示集合 JSONArray jSONArray = JSONArray.fromObject(map); String jsonJAVA = jSONArray.toString(); System.out.println(jsonJAVA); //[{"total":2,"rows":[{"id":1,"name":"西安"},{"id":2,"name":"临潼"}]}] jsonJAVA = jsonJAVA.substring(1,jsonJAVA.length()-1); System.out.println(jsonJAVA); }
List<JavaBean>----->json
List: private static void javabeanlist2json() { List<City> cityList = new ArrayList<City>(); cityList.add(new City(1,"中山")); cityList.add(new City(2,"佛山")); Province province = new Province(1,"广东",cityList); JSONArray jSONArray = JSONArray.fromObject(province); String jsonJAVA = jSONArray.toString(); System.out.println(jsonJAVA); /* [ { "id":1, "name":"广东" "cityList":[{"id":1,"name":"中山"},{"id":2,"name":"佛山"}], } ] */ }
List<String>--->json
private static void list2json() { List<City> cityList = new ArrayList<City>(); cityList.add(new City(1,"广州")); cityList.add(new City(2,"珠海")); JSONArray jSONArray = JSONArray.fromObject(cityList); String jsonJAVA = jSONArray.toString(); System.out.println(jsonJAVA); //[{"id":1,"name":"广州"},{"id":2,"name":"珠海"}] }
Set<JavaBean>-------->JSON
private static void set2json() { Set<City> citySet = new LinkedHashSet<City>(); citySet.add(new City(1,"广州")); citySet.add(new City(2,"珠海")); JSONArray jSONArray = JSONArray.fromObject(citySet); String jsonJAVA = jSONArray.toString(); System.out.println(jsonJAVA); //[{"id":1,"name":"广州"},{"id":2,"name":"珠海"}] }
5。json的特点
(1)在客户端上,直接三使用js进行解析,无需其它jar。
(2)在本质上就是一个文本,只是改文本有特定的书写格式。
(3)通过第三方jar转换成json。
(4)优点:json与xml很相似,但是它更加轻巧,服务器只是将数据发送,不用发送复杂的xml格式的文档了。
(5)缺点:语法语言严谨,如果写错,就不会得到效果。
工具:可以使用火狐的firebug进行测试。