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进行测试。
第三方插件将数据转成json
原文地址:https://www.cnblogs.com/kw28188151/p/8279870.html