Java处理JSon方法

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。
JSON建构有两种结构:   
1. “名称/值”对的集合(A collection of name/value pairs)。  
2.值的有序列表(An ordered list of values)。
在大部分语言中,它被理解为数组(array)。
简单地说,JSON 可以将 JavaScript 对象中表示的一组数据转换为字符串,然后就可以在函数之间轻松地传递这个字符串,或者在异步应用程序中将字符串从 Web 客户机传递给服务器端程序。
表示名称 / 值对,按照最简单的形式,可以用下面这样的 JSON 表示"名称 / 值对":   
{ "firstName": "Brett" }
表示数组
如果使用 JSON,就只需将多个带花括号的记录分组在一起:   
{ "people":
[ { "firstName": "Brett", "lastName":"McLaughlin", "email": "aaaa" },   
{ "firstName": "Jason", "lastName":"Hunter", "email": "bbbb"},   
{ "firstName": "Elliotte", "lastName":"Harold", "email": "cccc" }   
]}  
 这不难理解。在这个示例中,只有一个名为 people的变量,值是包含三个条目的数组,每个条目是一个人的记录,其中包含名、姓和电子邮件地址。
 
Java解析JSon数据需要的包如下

Java 后台处理 Json
1 Java 将数据封装为 Json 格式,再转换为 String 传递
读取数据和封装成json 格式数据,最后把jsonEmployeeArray 转换成string 格式传输给flex
JSONArray  jsonEmployeeArray = new JSONArray();
 while(rs.next()){
 JSONObject  jsonEmployee = new JSONObject();
 jsonEmployee.put("id", rs.getString("id"));
 jsonEmployee.put("name", rs.getString("name"));
 jsonEmployee.put("gender", rs.getString("gender"));
 jsonEmployee.put("department", rs.getString("department"));
 jsonEmployeeArray.add(jsonEmployee);
 }也可以这样jsonEmployee.element("address", "福建省厦门市"); 
result = jsonEmployeeArray.toString();//将Json数据转换为String类型
2 Java 将字符串解析为 Json 格式,再获取数据
 把传递过来的String类型的json格式的的数据解码开来
// 把字符 转换为 JSONObject        
String temp = jsonObject.toString(); 
JSONObject object = JSONObject.fromObject(temp);         
System. out.println("qq=" + object.get("QQ"));
// 把字符 转换为 JSONArray
JSONArray  jsonArray = JSONArray.fromObject(jsonData);//jsonData为flex传递的字符串
for(int i=0;i<jsonArray.size();i++){
 JSONObject jsonObject = JSONObject .fromObject (jsonArray .getString(i ));
 String id = jsonObject.getString("id");
 String name = jsonObject.getString("name");
}
JSONObject 获取数据方式

JsonArray 获取数据方式