java实体类转Json
来源:互联网 发布:淘宝分销怎么发货模板 编辑:程序博客网 时间:2024/05/16 09:25
package com.zsjz.utils.tools;
import java.io.IOException;
import java.io.StringWriter;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import org.apache.log4j.Logger;
import org.codehaus.jackson.JsonFactory;
import org.codehaus.jackson.JsonGenerator;
import org.codehaus.jackson.JsonNode;
import org.codehaus.jackson.JsonProcessingException;
import org.codehaus.jackson.map.ObjectMapper;
public class JsonUtils {
private static JsonUtils ju;
private static JsonFactory jf;
private static ObjectMapper mapper;
private static final Logger LOG = Logger.getLogger(JsonUtils.class);
private JsonUtils(){
}
/**
* 根据传入JSON串返回对应KEY的VALUE
* @param json JSON字符串
* @param key KEY
* @return value
*/
public static String getJsonByKey(String json,String key){
mapper = getMapper();
String nodeStr =null;
try {
JsonNode node = mapper.readTree(json);
node = node.get(key);
nodeStr = node.toString();
//如果第一位和最后一位是 "
if(nodeStr.charAt(0) == '"' && nodeStr.charAt(nodeStr.length()-1) == '"'){
nodeStr = nodeStr.substring(1,nodeStr.length()-1);
}
} catch (Exception e) {
return null;
}
return nodeStr;
}
/**
* 实例化对象,做成了单例
* @return 生成的实例
*/
public static JsonUtils getInstance() {
if(ju==null){
ju = new JsonUtils();
}
return ju;
}
/**
* 获取对象映射器
* @return 生成的映射器
*/
public static ObjectMapper getMapper() {
if(mapper==null) {
mapper = new ObjectMapper();
}
return mapper;
}
/**
* 获取JSON工厂
* @return JSON工厂
*/
public static JsonFactory getFactory() {
if(jf==null){
jf = new JsonFactory();
}
return jf;
}
/**
* 将对象转换成json串
* @param obj 待转换的对象
* @return json字符串
*/
public static String obj2json(Object obj) {
JsonGenerator jg = null;
try {
jf = getFactory();
mapper = getMapper();
StringWriter out = new StringWriter();
jg = jf.createJsonGenerator(out);
mapper.writeValue(jg, obj);
return out.toString();
} catch (IOException e) {
LOG.error(e.getMessage(), e);
} finally {
try {
if(jg!=null) {
jg.close();
}
} catch (IOException e) {
LOG.error(e.getMessage(), e);
}
}
return null;
}
/**
* 将json串转换成对象
* @param json 待转换的json串
* @param clz 对象
* @return 生成的对象
*/
public static Object json2obj(String json,Class<?> clz) throws IOException {
mapper = getMapper();
return mapper.readValue(json,clz);
}
/**
* @param request
* @param parm
* @param clz
* @return
* @throws IOException
*/
public static Object initRequestParm2Object(HttpServletRequest request,String parm,Class<?> clz) throws IOException{
String json = String.valueOf(request.getAttribute(parm));
return json2obj(json,clz);
}
/**
* 创建一个easyUI_dataGrid可用的JSON
* @param list
* @return
*/
public static JSONObject createDataGrid(List list){
JSONObject json = new JSONObject();
json.put("total", list.size());
JSONArray obj = JSONArray.fromObject(list);
json.put("rows", obj.toString());
return json;
}
/**
* 创建一个easyUI_treeGrid可用的JSON
* 目前与上一方法一样,后期会扩充
* "_parentId":2 必须数字类型
* "state":"closed"
* @param list
* @return
*/
public static JSONObject createTreeGrid(List list){
JSONObject json = new JSONObject();
json.put("total", list.size());
JSONArray obj = JSONArray.fromObject(list);
json.put("rows", obj.toString());
return json;
}
}
import java.io.IOException;
import java.io.StringWriter;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import org.apache.log4j.Logger;
import org.codehaus.jackson.JsonFactory;
import org.codehaus.jackson.JsonGenerator;
import org.codehaus.jackson.JsonNode;
import org.codehaus.jackson.JsonProcessingException;
import org.codehaus.jackson.map.ObjectMapper;
public class JsonUtils {
private static JsonUtils ju;
private static JsonFactory jf;
private static ObjectMapper mapper;
private static final Logger LOG = Logger.getLogger(JsonUtils.class);
private JsonUtils(){
}
/**
* 根据传入JSON串返回对应KEY的VALUE
* @param json JSON字符串
* @param key KEY
* @return value
*/
public static String getJsonByKey(String json,String key){
mapper = getMapper();
String nodeStr =null;
try {
JsonNode node = mapper.readTree(json);
node = node.get(key);
nodeStr = node.toString();
//如果第一位和最后一位是 "
if(nodeStr.charAt(0) == '"' && nodeStr.charAt(nodeStr.length()-1) == '"'){
nodeStr = nodeStr.substring(1,nodeStr.length()-1);
}
} catch (Exception e) {
return null;
}
return nodeStr;
}
/**
* 实例化对象,做成了单例
* @return 生成的实例
*/
public static JsonUtils getInstance() {
if(ju==null){
ju = new JsonUtils();
}
return ju;
}
/**
* 获取对象映射器
* @return 生成的映射器
*/
public static ObjectMapper getMapper() {
if(mapper==null) {
mapper = new ObjectMapper();
}
return mapper;
}
/**
* 获取JSON工厂
* @return JSON工厂
*/
public static JsonFactory getFactory() {
if(jf==null){
jf = new JsonFactory();
}
return jf;
}
/**
* 将对象转换成json串
* @param obj 待转换的对象
* @return json字符串
*/
public static String obj2json(Object obj) {
JsonGenerator jg = null;
try {
jf = getFactory();
mapper = getMapper();
StringWriter out = new StringWriter();
jg = jf.createJsonGenerator(out);
mapper.writeValue(jg, obj);
return out.toString();
} catch (IOException e) {
LOG.error(e.getMessage(), e);
} finally {
try {
if(jg!=null) {
jg.close();
}
} catch (IOException e) {
LOG.error(e.getMessage(), e);
}
}
return null;
}
/**
* 将json串转换成对象
* @param json 待转换的json串
* @param clz 对象
* @return 生成的对象
*/
public static Object json2obj(String json,Class<?> clz) throws IOException {
mapper = getMapper();
return mapper.readValue(json,clz);
}
/**
* @param request
* @param parm
* @param clz
* @return
* @throws IOException
*/
public static Object initRequestParm2Object(HttpServletRequest request,String parm,Class<?> clz) throws IOException{
String json = String.valueOf(request.getAttribute(parm));
return json2obj(json,clz);
}
/**
* 创建一个easyUI_dataGrid可用的JSON
* @param list
* @return
*/
public static JSONObject createDataGrid(List list){
JSONObject json = new JSONObject();
json.put("total", list.size());
JSONArray obj = JSONArray.fromObject(list);
json.put("rows", obj.toString());
return json;
}
/**
* 创建一个easyUI_treeGrid可用的JSON
* 目前与上一方法一样,后期会扩充
* "_parentId":2 必须数字类型
* "state":"closed"
* @param list
* @return
*/
public static JSONObject createTreeGrid(List list){
JSONObject json = new JSONObject();
json.put("total", list.size());
JSONArray obj = JSONArray.fromObject(list);
json.put("rows", obj.toString());
return json;
}
}
0 0
- java实体类转Json
- json转java实体
- Java实体类转Json出现的一些问题
- 在线JSON字符串转Java实体类(JavaBean)
- java实体转json忽略属性
- java 实体类转成json字符串
- java实体Entiy对象转json与json转java实体Entiy
- 实体类含有自身或者另一个实体时转json
- 将Json转实体
- Java复杂Json转成实体
- json字符串转java实体类及属性对应中的猫腻详解
- .net 中 Json数据转实体类,实体类转Json
- JAVA 实体对象数转JSON数据碰到的问题
- java 反射 将json对象转换为实体类
- 将Json对象转化为Java实体类
- json与java实体类的相互转换
- 手写的java实体类和json转化。
- JSON字符串转换成Java实体类(POJO)
- Codeforces 616A
- NSLayoutConstraint-代码实现自动布局的函数用法说明
- 通过注解的方式集成Spring 4 MVC+Hibernate 4+MySQL+Maven,开发项目样例
- cron
- C# 类扩展方法
- java实体类转Json
- 一个Servlet来替代多个Servlet_(2)
- 《你的知识需要管理》读书笔记
- eclipse无法连接Android设备
- IOS #define和预编译指令
- 教程的网址
- WebView 学习
- 在eclipse开发工具中使用JUnit4进行单元测试详解(四)常用元数据
- 通过Mysql-bin日志恢复还原数据