直接转换
Map map = JSON.parseObject(sourceAsString, Map.class);
//account 实体类
Account account = JSON.parseObject(sourceAsString, Account.class);
获取json中的某个字段
//转成json (对象)
JSONObject jsonObject = JSONObject.parseObject(object.toString());
//获取json 的指定 数据
String function = jsonObject.getString("function");
String str2 = jsonObject.optString("function"); //可以使用 opt 替代get 防止没有转换报错
//获取json
JSONObject content = jsonObject.getJSONObject("content");
JsonArray 使用
JSONArray data = getDistList(requestUrl, distCode);
StringBuilder caseSql = new StringBuilder("(case ").append(column);
data.forEach(item -> {
//将jsonArray 每一项 转成jsonObject
JSONObject json = JSON.parseObject(JSON.toJSONString(item));
//去除JsonObject的值
String code = String.valueOf(json.get("code"));
String name = String.valueOf(json.get("name"));
caseSql.append(" when '").append(code).append("' then '").append(name).append("'");
});
caseSql.append(" else ").append(column).append(" end ) as ").append(alias);
将对象转成json 将josn 转成对象
//将对象转成json
JSONUtil.toJsonStr(对象);
//将json 转成对象
Shop shop = JSONUtil.toBean(shopJson, Shop.class);
将对象转成map 将map 转成对象
/**
*将对象转成 map
*/
//redis 存储 user 转成map 也就是hash 因为redis 所有的是String类型存储
这里的id 是long 会保存 所以借助工具类转换 或者可以自己顶一个map 存储“id”:xxx "name":xxx这样
Map<String, Object> usermap = BeanUtil.beanToMap(user,new HashMap<>(),
//忽略空的值
CopyOptions.create().setIgnoreNullValue(true).
//将所有的value 转陈String
setFieldValueEditor((fieldName,fieldValue) ->
fieldValue.toString()));
/**
* 将map 转成对象
*/
//将usermap 转成userDto flase 异常处理 将map准成对象
UserDTO userDTO =BeanUtil.fillBeanWithMap(usermap, new UserDTO(), false);
//将usermap 转成userDto flase 异常处理 将map准成对象
UserDTO userDTO =BeanUtil.fillBeanWithMap(usermap, new UserDTO(), false);/**
*将对象转成 map
*/
//redis 存储 user 转成map 也就是hash 因为redis 所有的是String类型存储
这里的id 是long 会保存 所以借助工具类转换 或者可以自己顶一个map 存储“id”:xxx "name":xxx这样
Map<String, Object> usermap = BeanUtil.beanToMap(user,new HashMap<>(),
//忽略空的值
CopyOptions.create().setIgnoreNullValue(true).
//将所有的value 转陈String
setFieldValueEditor((fieldName,fieldValue) ->
fieldValue.toString()
));
/**
* 将map 转成对象
*/
//将usermap 转成userDto flase 异常处理 将map准成对象
UserDTO userDTO =BeanUtil.fillBeanWithMap(usermap, new UserDTO(), false);
//将usermap 转成userDto flase 异常处理 将map准成对象
UserDTO userDTO =BeanUtil.fillBeanWithMap(usermap, new UserDTO(), false);
package com.ehl.utb.dispatch.data.access.common.utils;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference;
import com.ehl.utb.dispatch.data.access.common.bean.JsonStateEnum;
import com.ehl.utb.dispatch.data.access.common.bean.JsonStringException;
import java.util.List;
import java.util.Map;
/**
* FastJson转换工具类
*
* @date 2019年4月16日
*/
public class FastJsonUtils {
/**
* 静态方法类添加私有构造函数
*/
private FastJsonUtils() {
throw new IllegalStateException("Utility class");
}
/**
* 功能描述:把JSON数据转换成普通字符串列表
*
* @param jsonData JSON数据
* @return
* @throws Exception
*/
public static List<String> getStringList(String jsonData) {
return JSON.parseArray(jsonData, String.class);
}
/**
* 功能描述:把JSON数据转换成指定的java对象
*
* @param jsonData JSON数据
* @param clazz 指定的java对象
* @return
* @throws Exception
*/
public static <T> T getSingleBean(String jsonData, Class<T> clazz) {
return JSON.parseObject(jsonData, clazz);
}
/**
* 功能描述:把java对象转换成JSON数据
*
* @param object java对象
* @return
*/
public static String getJsonString(Object object) {
return JSON.toJSONString(object);
}
/**
* 功能描述:把java对象转换成JSON数据
*
* @param object java对象
* @return
*/
public static Integer getJsonInger(String object,String key) {
return JSON.parseObject(object).getInteger(key);
}
/**
* 功能描述:把JSON数据转换成指定的java对象列表
*
* @param jsonData JSON数据
* @param clazz 指定的java对象
* @return
* @throws Exception
*/
public static <T> List<T> getBeanList(String jsonData, Class<T> clazz) {
return JSON.parseArray(jsonData, clazz);
}
/**
* 功能描述:把JSON数据转换成较为复杂的java对象列表
*
* @param jsonData JSON数据
* @return
* @throws Exception
*/
public static List<Map<String, Object>> getBeanMapList(String jsonData) {
return JSON.parseObject(jsonData, new TypeReference<List<Map<String, Object>>>() {
});
}
/**
* 功能描述:获取JSON数据对应Key 的Value值
* @param keys
* @return
*/
public static String getJsonKeyValues(String jsonString,String keys) {
//解析json对象
JSONObject jsonObject = JSON.parseObject(jsonString);
String result = jsonObject.getString(keys);
if (result == null) {
throw new JsonStringException(JsonStateEnum.STRING_ERROR.getStateInfo() + ",参数值:" + keys);
}
return result;
}
}