说明:JSON类型数据最常用了,上几个JSON类型数据处理方法,希望对大家有帮助!
package com.xxx.project.core.utils.json;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.apache.commons.lang.StringUtils;
import org.json.JSONException;
/**
* Json:Json处理方法
*
* @author 年爸
* @QQ 526704425
* @version 1.0
* @date 2019-02-22
*/
public final class JSONChange {
/*
* 001.json转换成对象
* @param:传入对象,json字符串
* @return:Object
*/
public static Object jsonToObj(Object obj, String jsonStr) throws IOException {
ObjectMapper mapper = new ObjectMapper();
obj = mapper.readValue(jsonStr, obj.getClass());
return obj;
}
/*
* 002.对象转换成json
* @param:传入对象
* @return:json字符串
*/
public static String objToJson(Object obj) throws IOException {
ObjectMapper mapper = new ObjectMapper();
return mapper.writeValueAsString(obj);
}
/**
* 003.json转换成list
* @param jsonStr 传入对象
* @param <T>
* @return 集合
* @throws IOException
* @throws JSONException
*/
public static <T> List<T> jsonToObjList(String jsonStr) throws IOException, JSONException {
List<T> objList = new ArrayList<>();
JSONArray jsonArray = JSON.parseArray(jsonStr);
for (int i=0; i< jsonArray.size(); i ++ ){
T t = (T)jsonArray.get(i);
objList.add(t);
}
return objList;
}
/**
* 判断字符串是否可以转化为json对象
* @param content
* @return
*/
public static boolean isJsonObject(String content) {
// 此处应该注意,不要使用StringUtils.isEmpty(),因为当content为" "空格字符串时,JSONObject.parseObject可以解析成功,
// 实际上,这是没有什么意义的。所以content应该是非空白字符串且不为空,判断是否是JSON数组也是相同的情况。
if(StringUtils.isBlank(content))
return false;
try {
JSONObject jsonStr = JSONObject.parseObject(content);
return true;
} catch (Exception e) {
return false;
}
}
/**
* 判断字符串是否可以转化为JSON数组
* @param content
* @return
*/
public static boolean isJsonArray(String content) {
if(StringUtils.isBlank(content))
return false;
StringUtils.isEmpty(content);
try {
JSONArray jsonStr = JSONArray.parseArray(content);
return true;
} catch (Exception e) {
return false;
}
}
}
注意:本文归作者所有,未经作者允许,不得转载