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. 转换语法
我们可以是 struts2 可以将数据转换成 json,也可以通过第三方 jar,将数据转换成 json.
(1)javaBean---->json
JSONArray jsonArray = JSONArray.formatObject(city);
String jsonJava = jsonArray.toString();
(2)List----->json
JSONArray jsonArray = JSONArray.formatObject(cityList);
String jsonJava = jsonArray.toString();
(3)List--->json
JSONArray jsonArray = JSONArray.formatObject(StringList);
String jsonJava = jsonArray.toString();
(4)Set----->JSON
JSONArray jsonArray = JSONArray.formatObject(citySet);
String jsonJava = jsonArray.toString();
(5)Map----->JSON
JSONArray jsonArray = JSONArray.formatObject(map);
String jsonJava = jsonArray.toString();
3. 举例:javaBean---->json
5.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----->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----->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--->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-------->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":"珠海"]
}
(1)在客户端上,直接三使用 js 进行解析,无需其它 jar.
(2)在本质上就是一个文本,只是改文本有特定的书写格式.
(3)通过第三方 jar 转换成 json.
(4)优点:json 与 xml 很相似,但是它更加轻巧,服务器只是将数据发送,不用发送复杂的 xml 格式的文档了.
(5)缺点:语法语言严谨,如果写错,就不会得到效果.
工具:可以使用火狐的 firebug 进行测试.
来源: http://www.bubuko.com/infodetail-2460038.html