參考文件:http://www.cnblogs.com/xwdreamer/archive/2011/12/16/2296904.html
一、JsonObject
1.JAR包簡介
要使程序可以運行必須引入JSON-lib包,JSON-lib包同時依賴於以下的JAR包:
- commons-lang.jar
- commons-beanutils.jar
- commons-collections.jar
- commons-logging.jar
- ezmorph.jar
- json-lib-2.4-jdk15.jar
- json-lib-2.4-jdk15-javadoc.jar
- json-lib-2.4-jdk15-sources.jar
2.JSONObject對象使用
JSON-lib包是一個beans,collections,maps,java arrays 和XML和JSON互相轉換的包。在本例中,我們將使用JSONObject類創建JSONObject對象,然后我們打印這些對象的值。為了使用JSONObject對象,我們要引入"net.sf.json"包。為了給對象添加元素,我們要使用put()方法。
- public static User getUserFromJson(String json) {
- User user = new User();
- try {
- JSONObject obj = JSONObject.fromObject(json);
- user.setUserId(obj.getInt(Tables.User.Fields.USERID));
- user.setAccount(obj.getString(Tables.User.Fields.ACCOUNT));
- user.setPassword(obj.getString(Tables.User.Fields.PASSWORD));
- user.setGender(obj.getInt(Tables.User.Fields.GENDER));
- user.setPermission(obj.getInt(Tables.User.Fields.PERMISSION));
- user.setName(obj.getString(Tables.User.Fields.NAME));
- user.setRemark(obj.getString(Tables.User.Fields.REMARK));
- user.setContact(obj.getString(Tables.User.Fields.CONTACT));
- return user;
- } catch (Exception ex) {
- ex.printStackTrace();
- }
- return null;
- }
二、Gson處理Json格式數據
1.Object to json格式
- public String getAllVideosByJson() throws Exception {
- List<Video> videos = service.getAllVideos();
- StringBuilder sb = new StringBuilder();
- //Gson gson = new Gson();
- Gson gson = new Gson();
- String result = gson.toJson(videos);
- return result;
- }
2.json格式的字符串變為Video對象
- public static List<Video> getJSONAllVideos_2() throws Exception {
- String path = "http://192.168.2.107:8080/VideoWeb/VideoServlet?format=json&type=get";
- URL url = new URL(path);
- HttpURLConnection conn = (HttpURLConnection) url.openConnection();
- conn.setReadTimeout(5 * 1000);
- conn.setRequestMethod("GET");
- InputStream inStream = conn.getInputStream();
- byte[] data = StreamTool.readInputStream(inStream);
- String json = new String(data);
- Type typeList = new TypeToken<ArrayList<Video>>() {
- }.getType();
- Gson gson = new Gson();
- ArrayList<Video> videos = gson.fromJson(json, typeList);
- return videos;
- }