안 드 로 이 드 개발 JSon 분석 종류 대전

오늘 은 앞에서 쓴 항목 들 을 정리 하고 안 드 로 이 드 가 네트워크 에 접근 하 며 json 전송 값 의 분석 도구 류 를 통 해 전송 과정 에서 사용 하 는 유형 을 보완 했다.
나 는 알 리 바 바 의 fastjson 도 구 를 사용 한 후에 자주 사용 하 는 패스 종 류 를 스스로 포장 했다.
fastjson 에 대하 여:http://www.cnblogs.com/zhenmingliu/archive/2011/12/29/2305775.html
만약 에 어떤 신 이 이 글 을 본다 면 최적화 시 켜 주세요. 제 이 슨 대상 을 더욱 편리 하고 스마트 하 게 해석 할 수 있 기 를 바 랍 니 다!
JsonTools:
package com.test;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference;

/**
 *    json     
 * @author wanglei
 *
 */
public class JsonTools {
	
	public JsonTools() {
		// TODO Auto-generated constructor stub
	}
	
	/**
	 *   JSON        json  
	 * @param value           
	 */
	public static String createJsonString(Object value) {
		String str = JSON.toJSONString(value);
		return str;
	}

	/**
	 *    javabean    
	 * @param 
	 * @param json     json   
	 * @param cls 
	 * @return
	 */
	public static T getObject(String json,Class cls){
		T t = null;
		try {
			t = JSON.parseObject(json,cls);
		} catch (Exception e) {
			e.printStackTrace();
		}
		return t;
	}
	
	/**
	 *  list      
	 * @param 
	 * @param json
	 * @param cls
	 * @return
	 */
	public static  List getListObject(String json,Class cls){
		List list = new ArrayList();
		try {
			list = JSON.parseArray(json, cls);
		} catch (Exception e) {
			e.printStackTrace();
		}
		return list;
	}
	
	/**
	 *  MapString        
	 * @param json
	 * @return
	 */
	public static Map getMapStr(String json){
		Map mapStr = new HashMap();
		try {
			mapStr = JSON.parseObject(json, new TypeReference>(){});
		} catch (Exception e) {
			e.printStackTrace();
		}
		return mapStr;
	}
	
	/**
	 *  MapObject        
	 * @param json
	 * @return
	 */
	public static Map getMapObj(String json){
		Map mapStr = new HashMap();
		try {
			mapStr = JSON.parseObject(json, new TypeReference>(){});
		} catch (Exception e) {
			e.printStackTrace();
		}
		return mapStr;
	}
	
	/**
	 *  listmap      
	 * @param json
	 * @return
	 */
	public static List> getListMap(String json){
		List> list = new ArrayList>();
		try {
			list = JSON.parseObject(json,new TypeReference>>(){});
		} catch (Exception e) {
			e.printStackTrace();
		}
		return list;
	}
}
JsonTest:
package com.test;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class JsonTest {
	
	public String test1(){
		Map maps = new HashMap();
		maps.put("success", "true");
		maps.put("question", "        ?");
		maps.put("data", "#####$%#%$$#@%@#$^%$#@#%^!#@%&^*&(&^%$#@%^&^%$#@%^&*");
		String jsonStr = JsonTools.createJsonString(maps);
		return jsonStr;
	}
	
	public Map getMap(String jsonStr){
		return JsonTools.getMapStr(jsonStr);
	}
	
	public String test2(){
		Map maps = new HashMap();
		maps.put("success", "true");
		maps.put("question", "        ?");
		
		maps.put("data", new User(1001, "  ", "1234", "110"));
		
		List users = new ArrayList();
		users.add(new User(1002, "  ", "52222346654", "5420155152"));
		users.add(new User(1003, "  ", "52323163514", "5353456456"));
		users.add(new User(1004, "  ", "55541221254", "2131231231"));
		maps.put("datalist", users);
		
		String jsonStr = JsonTools.createJsonString(maps);
		return jsonStr;
	}

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		JsonTest jsonTest = new JsonTest();
		String jsonString = jsonTest.test1();
		System.out.println(jsonString);
		//  MapString  
		Map getMap = jsonTest.getMap(jsonString);
		System.out.println(getMap.get("success"));
		System.out.println(getMap.get("question"));
		System.out.println(getMap.get("data"));
		
		String jsonStr2 = jsonTest.test2();
		System.out.println(jsonStr2);
		
		Map getMapObj = JsonTools.getMapObj(jsonStr2);
		System.out.println(getMapObj.get("success"));
		System.out.println(getMapObj.get("question"));
		//  mapObject  
		User user = JsonTools.getObject(getMapObj.get("data").toString(), User.class);
		System.out.println(user.getUsername());
		//  MapListObject  
		List users = JsonTools.getListObject(getMapObj.get("datalist").toString(), User.class);
		for (User user2 : users) {
			System.out.println(user2);
			System.out.println(user2.getUsername());
		}
		
	}

}

도구 클래스 와 테스트 의 원본 다운로드 주소:http://download.csdn.net/detail/return_code/4770574

좋은 웹페이지 즐겨찾기