`

java对象和json互相转换

    博客分类:
  • java
阅读更多
package com.lecast.json.until;

import java.lang.reflect.Type;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import java.util.Map;

import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.JsonDeserializationContext;
import com.google.gson.JsonDeserializer;
import com.google.gson.JsonElement;
import com.google.gson.JsonParseException;
import com.google.gson.JsonPrimitive;
import com.google.gson.JsonSerializationContext;
import com.google.gson.JsonSerializer;

/**
* json 简单操作的工具类
* @author lee.li
*
*/
public class JsonUtil{

private static Gson gson=null;
static{
if(gson==null){
gson=new Gson();
}
}
private JsonUtil(){}
/**
* 将对象转换成json格式
* @param ts
* @return
*/
public static String objectToJson(Object ts){
String jsonStr=null;
if(gson!=null){
jsonStr=gson.toJson(ts);
}
return jsonStr;
}
/**
* 将对象转换成json格式(并自定义日期格式)
* @param ts
* @return
*/
public static String objectToJsonDateSerializer(Object ts,final String dateformat){
String jsonStr=null;
gson=new GsonBuilder().registerTypeHierarchyAdapter(Date.class, new JsonSerializer<Date>() {
public JsonElement serialize(Date src, Type typeOfSrc,
JsonSerializationContext context) {
SimpleDateFormat format = new SimpleDateFormat(dateformat);
return new JsonPrimitive(format.format(src));
}
}).setDateFormat(dateformat).create();
if(gson!=null){
jsonStr=gson.toJson(ts);
}
return jsonStr;
}
/**
* 将json格式转换成list对象
* @param jsonStr
* @return
*/
public static List<?> jsonToList(String jsonStr){
List<?> objList=null;
if(gson!=null){
java.lang.reflect.Type type=new com.google.gson.reflect.TypeToken<List<?>>(){}.getType();
objList=gson.fromJson(jsonStr, type);
}
return objList;
}
/**
* 将json格式转换成map对象
* @param jsonStr
* @return
*/
public static Map<?,?> jsonToMap(String jsonStr){
Map<?,?> objMap=null;
if(gson!=null){
java.lang.reflect.Type type=new com.google.gson.reflect.TypeToken<Map<?,?>>(){}.getType();
objMap=gson.fromJson(jsonStr, type);
}
return objMap;
}
/**
* 将json转换成bean对象
* @param jsonStr
* @return
*/
public static Object  jsonToBean(String jsonStr,Class<?> cl){
Object obj=null;
if(gson!=null){
obj=gson.fromJson(jsonStr, cl);
}
return obj;
}
/**
* 将json转换成bean对象
* @param jsonStr
* @param cl
* @return
*/
@SuppressWarnings("unchecked")
public static <T> T  jsonToBeanDateSerializer(String jsonStr,Class<T> cl,final String pattern){
Object obj=null;
gson=new GsonBuilder().registerTypeAdapter(Date.class, new JsonDeserializer<Date>() {
public Date deserialize(JsonElement json, Type typeOfT,
JsonDeserializationContext context)
throws JsonParseException {
SimpleDateFormat format=new SimpleDateFormat(pattern);
String dateStr=json.getAsString();
try {
return format.parse(dateStr);
} catch (ParseException e) {
e.printStackTrace();
}
return null;
}
}).setDateFormat(pattern).create();
if(gson!=null){
obj=gson.fromJson(jsonStr, cl);
}
return (T)obj;
}
/**
* 根据
* @param jsonStr
* @param key
* @return
*/
public static Object  getJsonValue(String jsonStr,String key){
Object rulsObj=null;
Map<?,?> rulsMap=jsonToMap(jsonStr);
if(rulsMap!=null&&rulsMap.size()>0){
rulsObj=rulsMap.get(key);
}
return rulsObj;
}

}
分享到:
评论

相关推荐

    Java对象与Json之间的互相转换的jar包

    这个"Java对象与Json之间的互相转换的jar包"正是提供了这样的功能。 这个jar包可能包含了如Jackson、Gson、Fastjson等流行的Java JSON库,它们各自提供了丰富的API来方便开发者进行对象与JSON的转换。 1. Jackson...

    java与json互相转换的jar包

    Java与JSON互相转换是开发过程中常见的需求,尤其是在服务器端与前端之间传递数据时。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,因其易读性、易写性和高效性,被广泛应用于Web服务。Java则是...

    用于java对象与json对象间的相互转换(net.sf.json.JSONObject)

    两者可以互相转换,并有类似的方法进行操作。 - **类型转换**:`JSONObject`的`getXXX`系列方法可以根据字段类型返回对应的Java值,如`getString()`, `getInt()`, `getBoolean()`等。 - **异常处理**:在转换过程中...

    java 对象与json字符串互相转换工具类

    例如,将Java对象转换为JSON字符串: ```java ObjectMapper mapper = new ObjectMapper(); String jsonString = mapper.writeValueAsString(yourObject); ``` 反向转换,将JSON字符串解析为Java对象: ```...

    使用jackson完成json与java对象的互相转换实例

    通过理解和掌握上述知识点,开发者可以有效地在Java对象与JSON之间进行数据转换,从而提升开发效率和代码质量。在实际项目中,根据需求选择适当的序列化和反序列化策略,可以更好地满足业务需求。

    form数据与json对象的互相转换(完整版)

    form数据与json对象的互相转换(完整版) * 将web Form 的数据转化成json字符串 * 将json对象的值解析后填入web Form 在AJAX开发中这是关键技术: 1、将form中的数据利用本工具转换成json格式的字符串,再通过ajax传...

    Json对象与json字符串互相转换处理工具

    Json对象与json字符串互相转换处理工具

    java 和 json 对象间转换

    Java与JSON对象间转换的知识点涉及到Java中对象与JSON格式数据之间的互相转换方法,这是在Web开发和数据交互中常见的需求。在Java中处理JSON数据主要依靠一些第三方库,json-lib是其中之一,它能够将Java对象转换成...

    XML、JAVA、JSON多种方式互相转换

    - Gson库同样提供了类似的`toJson`和`fromJson`方法,方便地在Java对象和JSON字符串之间转换。 4. JSON和XML的比较: - JSON通常被认为比XML更轻量级,解析和生成更快,更适合在网络传输中使用。 - XML提供更...

    JSON与Java互相转换Demo(Eclipse)

    在Java中,我们常常需要将JSON字符串与Java对象之间进行转换,以便于数据的传输和处理。本示例提供了在Eclipse环境下实现JSON与Java对象互转的代码演示。 首先,我们要了解两个关键的Java库:org.json和...

    Java对象和集合与Json之间的互相转换

    本工程用于研究Java对象和集合与Json之间的互相转换 本工程编码方式:UTF-8 注意:由于User类中为方便生成User实例创建了有参的User构造方法,所以也要创建无参的构造方法,否则将出现如本工程图01.jpg所示的异常...

    JAVA对象JSON数据互相转换的四种常见情况

    最后,关于JSON操作的实用在线工具,文章中提到的包括代码检验、格式化、XML/JSON互相转换等在线工具,这些工具可以辅助开发者快速地对JSON数据进行测试和调试,提高开发效率。这些工具都是公共可用的资源,对于那些...

    java实现Xml与json之间的相互转换操作示例

    在实际开发中,如果需要频繁进行xml与json的转换操作,除了使用Java代码实现之外,还可以使用在线工具进行操作,例如示例中提供的在线json代码检验、美化、格式化工具,以及在线xml/json互相转换工具等,这些工具...

    java对象与json对象之间互相转换实现方法示例

    在Java编程中,将Java对象与JSON对象进行互相转换是一种常见的数据处理方式,尤其是在Web开发和移动应用中与服务器进行数据交互时。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它易于人阅读和...

    java中ArrayListMapObject与Json互相转换.pdf

    该方法会根据JSON的结构创建相应的数据结构,并将值映射到对应的Java对象上。 例如,假设我们有以下的ArrayList&lt;Map&lt;Object&gt;&gt;: ```java List, Object&gt;&gt; list = new ArrayList(); Map, Object&gt; map1 = new HashMap...

    marc和json互相转换工具--PxMarcToJSON_0.1

    PxMarcToJSON_0.1便是一款专为解决MARC与JSON之间转换问题的JAVA软件,它为图书馆工作者提供了一个方便、高效的工具,使得这两种格式之间的数据转换变得轻松。 首先,我们需要理解MARC格式。MARC是基于ASCII编码的...

    xStream转换xml和json源码

    本篇文章将深入探讨xStream如何实现Java对象与XML和JSON的相互转换,并提供详细的代码示例。 ### 1. xStream的安装与引入 首先,你需要在项目中添加xStream的依赖。如果你使用的是Maven,可以在pom.xml文件中添加...

    net.sf.json.JSONObject实现Object对象与Json字符串的互转

    是Java开发中处理JSON数据的一个工具,它提供了一种方便的方式来转换Java对象和JSON字符串,使得数据交换变得更加简单。通过理解和熟练使用`JSONObject`,开发者可以更好地应对前后端交互的需求。

    Java中Json字符串与各种对象互转

    可以处理简单java对象和格式正确的json字符串互相转换。 net.sf.json.JSONArray可以处理复杂的java集合对象和格式正确的json字符串互相转换. 1.json字符串转简单java对象 2.简单java对象转json字符串 3.json字符...

    json字符串和java对象间的转换

    在Java中,我们经常需要将JSON字符串与Java对象进行互相转换,以便处理和存储数据。这篇博客将探讨如何在Java中实现这一过程。 一、JSON简介 JSON是一种基于文本的格式,它使用键值对来表示数据,结构清晰,易于...

Global site tag (gtag.js) - Google Analytics