json数据操作

1、代码例子

package com.gamexun.support.util;

import java.io.IOException;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.json.JSONException;
import org.json.JSONObject;
import com.alibaba.fastjson.JSON;


public class JsonWriteUtil {
	private static Log log=LogFactory.getLog(JsonWriteUtil.class);   

	/**
	 * 直接打印字符串
	 */
	public static void write(HttpServletResponse response, String str) {
		try {
			response.setContentType("text/html;charset=utf-8");
			response.getWriter().write(str);
			response.getWriter().flush();
			log.debug(str);
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

	/**
	 * 把对象转换成JSON后,再进行打印
	 */
	public static void writeJson(HttpServletResponse response, Object obj) {
		String str = JSON.toJSONString(obj);
		try {
			response.setContentType("text/html;charset=utf-8");
			response.getWriter().write(str);
			response.getWriter().flush();
			log.debug(str);
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

	/**
	 * 将json格式数据转换为map
	 * @param json json格式的数据
	 */
	@SuppressWarnings({ "unchecked", "rawtypes" })
	public static Map<String,String> getMap(String json) throws JSONException{
		JSONObject dataJson =new JSONObject(json);
		Map<String,String> mapResult = new HashMap();
		Iterator iterator = dataJson.keys();
		String key = null;
	    String value = null;
	        
        while (iterator.hasNext()) {
            key = (String) iterator.next();
            value = dataJson.getString(key);
            mapResult.put(key, value);
        }
        
        return mapResult;
	}
	
	
	/**
	 * 将map转换成json字符串
	 * @param str 需要解析的map的key
	 * @param map map集合
	 * @return
	 */
	public static String getString(String str[],Map<String,String> map){
		StringBuffer jsonStr = new StringBuffer("{");
		int num = 0;
		for (int i = 0; i < str.length; i++) {
			String key = str[i];
			if(num < str.length -1){
				jsonStr = jsonStr.append("\"" +key + "\":\"" + map.get(key) + "\",");  
			}else{
				jsonStr = jsonStr.append("\"" +key + "\":\"" + map.get(key) + "\""); 
			}
		}
		jsonStr.append("}");
		return jsonStr.toString();
	}
}

 

构造json数据:

/**
 * 返回结果,说明给那个服务器的用户发奖
 * @param ret 		状态
 * @param msg 		说明
 * @param zoneid	发货服务器
 */
public String getMsg(int ret,String msg,String zoneid) {
	JSONObject obj = new JSONObject();
	obj.put("ret", ret);
	obj.put("msg", msg);
	obj.put("zoneid", zoneid);
	
	log.info("任务集市回调返回结果 obj="+obj.toJSONString());
	return obj.toJSONString();
}

需要用到的jar如附件:

猜你喜欢

转载自x125858805.iteye.com/blog/2147243
今日推荐