hutool json转list_服务器端-前端json数据传输小结

Java服务端收到前端字符串转json:

import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.JSON;

String s = "{"userLoginId":"sysman","mobileIds":"bdzfzl001,sgbj001"}";
		JSONObject jsonobj = JSON.parseObject(s);
		System.out.println(jsonobj.get("userLoginId"));
		System.out.println(jsonobj.get("mobileIds"));
		String mobileIds = (String) jsonobj.get("mobileIds");
		String[] arrMobileId = mobileIds.split(",");
		System.out.println(arrMobileId[0]+"|"+arrMobileId[1]);

Java服务器端向前端发送:

JsonUtil.java

package com.zhxjz.framework.util.common;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

import org.apache.commons.lang.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.codehaus.jackson.JsonNode;
import org.codehaus.jackson.map.ObjectMapper;

import com.zhxjz.framework.model.json.JsonResult;

/**
 * json处理工具类
 * 
 * @author caozj
 */
public class JsonUtil {

	private JsonUtil() {

	}

	private static final ObjectMapper mapper = new ObjectMapper();

	private static final Log logger = LogFactory.getLog(JsonUtil.class);

	/**
	 * Object -> json
	 * 
	 * @param obj
	 * @return
	 */
	public static String toJson(Object obj) {
		try {
			return mapper.writeValueAsString(obj);
		} catch (Exception e) {
			logger.error("Object转化成Json失败", e);
		}
		return null;
	}

	/**
	 * json -> Object
	 * 
	 * @param <T>
	 * @param content
	 * @param valueType
	 * @return
	 */
	public static <T> T toObject(String content, Class<T> valueType) {
		if (StringUtils.isEmpty(content)) {
			return null;
		}
		try {
			return mapper.readValue(content, valueType);
		} catch (Exception e) {
			logger.error("Json转化成Object失败", e);
		}
		return null;
	}

	/**
	 * json -> List
	 * 
	 * @param <T>
	 * @param content
	 * @param valueType
	 * @return
	 */
	public static <T> List<T> toList(String content, Class<T> valueType) {
		JsonNode node = null;
		try {
			node = mapper.readTree(content);
		} catch (Exception e) {
			logger.error("Json转化成List失败", e);
		}
		if (node == null) {
			return new ArrayList<T>(0);
		}
		Iterator<JsonNode> iterator = node.getElements();
		List<T> list = new ArrayList<T>();
		while (iterator.hasNext()) {
			String json = iterator.next().toString();
			T e = toObject(json, valueType);
			list.add(e);
		}
		return list;
	}

	/**
	 * success json
	 * 
	 * @return - {success:true}
	 */
	public static String successJson() {
		return toJson(new JsonResult());
	}

	/**
	 * result json
	 * 
	 * @param success
	 *            - 操作成功与否
	 * @param message
	 *            - 结果信息
	 * @return - {success:true,message:'test'}
	 */
	public static String resultJson(boolean success, String message) {
		return toJson(new JsonResult(message, success ? JsonResult.successCode : JsonResult.failCode));
	}

	/**
	 * result json
	 * 
	 * @param code
	 *            - 状态码
	 * @param message
	 *            - 结果信息
	 * @param data
	 *            - 结果数据
	 * @return
	 */
	public static String resultJson(int code, String message, Object data) {
		return toJson(new JsonResult(data, message, code));
	}
}

JsonResult.java

package com.zhxjz.framework.model.json;

import com.zhxjz.framework.util.common.JsonUtil;

/**
 * 返回给页面的json格式数据
 * 
 * @author caozj
 * 
 */
public class JsonResult {

	/**
	 * 成功码
	 */
	public static final int successCode = 200;

	/**
	 * 错误码
	 */
	public static final int failCode = 400;

	/**
	 * 状态码(200代表成功,其他可自行定义)
	 */
	private int code;

	/**
	 * 提示消息
	 */
	private String msg;

	/**
	 * 数据对象
	 */
	private Object data;

	public int getCode() {
		return code;
	}

	public void setCode(int code) {
		this.code = code;
	}

	public String getMsg() {
		return msg;
	}

	public void setMsg(String msg) {
		this.msg = msg;
	}

	public Object getData() {
		return data;
	}

	public void setData(Object data) {
		this.data = data;
	}

	public JsonResult() {
		code = successCode;
	}

	public JsonResult(Object data) {
		this.data = data;
		code = successCode;
	}

	public JsonResult(Object data, String msg) {
		this.data = data;
		this.code = successCode;
		this.msg = msg;
	}

	public JsonResult(Object data, String msg, int code) {
		this.data = data;
		this.code = code;
		this.msg = msg;
	}

	public JsonResult(String msg, int code) {
		this.code = code;
		this.msg = msg;
	}

	public JsonResult(int code) {
		this.code = code;
	}

	public String toJson() {
		return JsonUtil.toJson(this);
	}

}

List<Map<String, Object>> dataList = userFuncService.getUserFunc(account, arrMobileId);

String message = new JsonResult(dataList).toJson();

——————————————————————————————————————

最后送大家一波福利!


历经两个月发展,本人终于回归前端岗位!裸辞的艰辛已然消逝
在这里特地讲我自己这两个月整理的相关面试题分享给大家,免费获取哦~
内容:

  • 基础题(293题)
  • 进阶题(30题)
  • 高级题(91题)
  • 计算机基础题(14题)
  • 高频考点(37题)
  • 综合问题(125题)
  • 大厂面试真题(阿里、网易等)
  • 个人面试经验思维导图

34357ed102f1b6e61e727fbe807cfbf4.png

38cfe419ec4ad4f28478de47b08bb258.png
Nginx与前端开发​www.jianshu.com
f7371d2404681fd56b1e0f0f833f0cc4.png
前端要懂的色域知识​www.jianshu.com
e22345878df5984ab0963e771af359f8.png
阿里巴巴腾讯前端面试经验,最完整面试真题分享!​www.jianshu.com
649ed2f4a50d66f1477d1fd4f8d43243.png
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值