使用json-lib解析json資料
1、首先要理解幾個概念
json對象,json數組,json字串
json對象可以用JsonObject表示
json數組可以用JsonArray表示
json字串就是就是一個String類型的字串
然後在看下面的代碼簡單多了
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
public class Test {
public static void main(String[] args) {
// List集合轉換json數組(與數組一致)
List list = new ArrayList();
list.add("a");
list.add("b");
JSONArray jsonArray = JSONArray.fromObject(list);
System.err.println(jsonArray.toString());
// map集合轉換json對象
Map map = new HashMap();
map.put("1", "1");
map.put("2", "2");
JSONObject jsonObject = JSONObject.fromObject(map);
System.out.println(jsonObject.toString());
//將map集合轉換為json數組(javabean與map類型一致)
JSONArray jsonArray2 = JSONArray.fromObject(map);
System.out.println(jsonArray2.toString());
// 一般資料(json字串)轉換為json
JSONArray jsonArray3 = JSONArray.fromObject("['1','2','4']");
System.out.println(jsonArray3);
}
}
更複雜的轉換都是基於上面基礎的轉化。
最近在項目中用到一個將json字串轉換為自訂bean的數組對象
先將字串轉換為json數組,再利用JsonArray.toString方法將
指定的json數群組轉換為相應的自訂的bean對象
String users = request.getParameter("users");
JSONArray jsonArray = JSONArray.fromObject(users);
User[]users2 = (User[]) JSONArray.toArray(jsonArray, User.class);/