`

JSON解析

阅读更多

引入相应的包json-lib-2.2-jdk15.jar

import net.sf.json.JSONArray;

import net.sf.json.JSONObject;

1. java 对象列表转换为json对象数组,并转为字符串

JSONArray array = JSONArray.fromObject(userlist);

String jsonstr = array.toString();

 

2.java对象转换成json对象,并转化为字符串

JSONObject object = JSONObject.fromObject(user);

String jsonstr = object.toString();

 

3.JSON字符串转换为JAVA 对象数组

JSONArray jsonarray = JSONArray.fromObject(userliststr);

List<User> users = (List<User>)JSONArray.toCollection(jsonarray, user.class);

 

4.JSON字符串转换为JAVA 对象

JSONObject jsonobject = JSONObject.fromObject(userstr);

User user = (User)JSONObject.toBean(jsonobject, user.class);

//获取对象中的一个json数组

JSONArray array = jsonobject.getJSONArray("passports");

List<PassPort> list = new ArrayList<PassPort>();

for (int i = 0; i < array.size(); i++) {  

         JSONObject object = (JSONObject)array.get(i); 

         PassPort passport = (PassPort)JSONObject.toBean(object, PassPort.class);

         if(passport != null){

                   list.add(passport);

         } 

 

}

 

5.客户端JSON对象和字符串之间的转换:

var objson = eval('(' + strjson + ')');

 

 

 

 

 

    /**
	 * JSON转换为Map对象
	 * @param strJson
	 * @return
	 */
    public static Map convertJSONtoMap(String strJson) {
		Map objMap = convertJSONObjecttoMap(JSONObject.fromObject(strJson));
		// 此方法获取的对象无法转为Map对象
		// Map objMap = (Map) JSONObject.toBean(JSONObject.fromObject(strJson), HashMap.class);
		return objMap;
	}

    /**
     * Map对象转换为JSON
     * @param strJson
     * @return
     */
    public static String convertMaptoJSON(Map objMap) {
		return JSONObject.fromObject(objMap).toString();
	}

	/**
	 * 将JSONObjec对象转换成Map-List集合
	 * @param json
	 * @return
	 */
	public static HashMap<String, Object> convertJSONObjecttoMap(JSONObject json) {
		HashMap<String, Object> map = new HashMap<String, Object>();
		Set<?> keys = json.keySet();
		for (Object key : keys) {
			Object o = json.get(key);
			if (o instanceof JSONArray) {
				map.put((String) key, convertJSONArraytoMap((JSONArray) o));
			} else if (o instanceof JSONObject) {
				map.put((String) key, convertJSONObjecttoMap((JSONObject) o));
			} else {
				map.put((String) key, o);
			}
		}
		return map;
	}

	/**
	 * 将JSONArray对象转换成Map-List集合
	 * @param json
	 * @return
	 */
	public static Object convertJSONArraytoMap(JSONArray json) {
		List<Object> list = new ArrayList<Object>();
		for (Object o : json) {
			if (o instanceof JSONArray) {
				list.add(convertJSONArraytoMap((JSONArray) o));
			} else if (o instanceof JSONObject) {
				list.add(convertJSONObjecttoMap((JSONObject) o));
			} else {
				list.add(o);
			}
		}
		return list;
	}

 

 

 

 

 

【】

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics