【IT专家】在JAVA中封装JSONUtils工具类及使用 (转)
Java项目工程中utils包与tools包的理解

Java项⽬⼯程中utils包与tools包的理解在java⼯程中,⼀般我们会⽤Utils或Tools的包名来封装⼀些通⽤的⼯具类。
单单从字⾯上来看,两者都可以表⽰⼯具的意思,但往往并不能做出⽐较精准的定义。
以下是本⼈对utils包与tools包的定义及理解:定义:包名定义⽅法或属性举例utils 通⽤的且与项⽬业务⽆关的类的组合;可供其他项⽬使⽤⽅法通常是public static的;⼀般⽆类的属性,如果有,也是public static的字符串⼯具类,⽂件⼯具类等tools 当前项⽬中通⽤的业务类的组合;仅能当前项⽬使⽤不限⽤户校验⼯具类,⽀付⼯具类等例⼦:Utils:public class StringUtils {...public static final String SPACE = " ";public static final String EMPTY = "";...public static boolean isEmpty(final CharSequence cs) {return cs == null || cs.length() == 0;}public static boolean isBlank(final CharSequence cs) {int strLen;if (cs == null || (strLen = cs.length()) == 0) {return true;}for (int i = 0; i < strLen; i++) {if (!Character.isWhitespace(cs.charAt(i))) {return false;}}return true;}...}Tools:/***验证⼯具类接⼝定义*/public interface VerificationTools {/*** 发送邮件验证码* @param code 验证码* @return EmailVo*/EmailVo sendEmail(VerificationCode code);/*** 验证⽤户* @param user实体类* @return返回是或否*/Boolean validatedUser(User user);}。
JAVA使用JDBC连接数据库做JSON封装和解析的例子

JAVA使用JDBC连接数据库做JSON封装和解析的例子Java是一种广泛应用于互联网和企业级应用开发的编程语言,而JDBC是Java的一种标准接口,用于连接和操作数据库。
在JDBC的基础上,我们可以使用JSON来封装和解析数据库中的数据。
下面是一个使用JDBC连接数据库做JSON封装和解析的例子。
首先,我们需要导入JDBC和JSON相关的包。
```javaimport java.sql.*;import org.json.JSONArray;import org.json.JSONObject;```接下来,我们需要连接数据库并执行查询操作,将查询结果封装成JSON格式。
```javapublic class JDBCExamplepublic static void main(String[] args)//连接数据库String url = "jdbc:mysql://localhost:3306/test";String username = "root";String password = "root";try(Connection connection = DriverManager.getConnection(url, username, password))//执行查询语句String query = "SELECT * FROM students";Statement statement = connection.createStatement(;ResultSet resultSet = statement.executeQuery(query);//创建JSON对象和数组JSONArray jsonArray = new JSONArray(;while (resultSet.next()JSONObject jsonObject = new JSONObject(;jsonObject.put("id", resultSet.getInt("id"));jsonObject.put("name", resultSet.getString("name"));jsonObject.put("age", resultSet.getInt("age"));jsonArray.put(jsonObject);}//输出JSON数据System.out.println(jsonArray.toString();} catch (SQLException e)e.printStackTrace(;}}```在上述代码中,我们首先使用`DriverManager.getConnection`方法连接数据库,然后使用`statement.executeQuery`方法执行查询语句,得到结果集。
关于Jackson的JSON工具类封装JsonUtils用法

关于Jackson的JSON⼯具类封装JsonUtils⽤法直接上代码,都有注释,⼀看就懂,完全满⾜⽇常开发需求import com.fasterxml.jackson.annotation.JsonInclude.Include;import com.fasterxml.jackson.core.JsonProcessingException;import com.fasterxml.jackson.core.type.TypeReference;import com.fasterxml.jackson.databind.DeserializationFeature;import com.fasterxml.jackson.databind.ObjectMapper;import com.fasterxml.jackson.databind.SerializationFeature;import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;import java.io.IOException;import java.text.SimpleDateFormat;import lombok.extern.slf4j.Slf4j;/*** 基于Jackson的JSON转换⼯具类** @author ye17186* @version 2018/6/29 12:06*/@Slf4jpublic class JsonUtils {private static ObjectMapper om = new ObjectMapper();static {// 对象的所有字段全部列⼊,还是其他的选项,可以忽略null等om.setSerializationInclusion(Include.ALWAYS);// 设置Date类型的序列化及反序列化格式om.setDateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"));// 忽略空Bean转json的错误om.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);// 忽略未知属性,防⽌json字符串中存在,java对象中不存在对应属性的情况出现错误om.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);// 注册⼀个时间序列化及反序列化的处理模块,⽤于解决jdk8中localDateTime等的序列化问题om.registerModule(new JavaTimeModule());}/*** 对象 => json字符串** @param obj 源对象*/public static <T> String toJson(T obj) {String json = null;if (obj != null) {try {json = om.writeValueAsString(obj);} catch (JsonProcessingException e) {log.warn(e.getMessage(), e);throw new IllegalArgumentException(e.getMessage());}}return json;}/*** json字符串 => 对象** @param json 源json串* @param clazz 对象类* @param <T> 泛型*/public static <T> T parse(String json, Class<T> clazz) {return parse(json, clazz, null);}/*** json字符串 => 对象** @param json 源json串* @param type 对象类型* @param <T> 泛型*/public static <T> T parse(String json, TypeReference type) {return parse(json, null, type);}/*** json => 对象处理⽅法* <br>* 参数clazz和type必须⼀个为null,另⼀个不为null* <br>* 此⽅法不对外暴露,访问权限为private** @param json 源json串* @param clazz 对象类* @param type 对象类型* @param <T> 泛型*/private static <T> T parse(String json, Class<T> clazz, TypeReference type) {T obj = null;if (!StringUtils.isEmpty(json)) {try {if (clazz != null) {obj = om.readValue(json, clazz);} else {obj = om.readValue(json, type);}} catch (IOException e) {log.warn(e.getMessage(), e);throw new IllegalArgumentException(e.getMessage());}}return obj;}}如何使⽤就更简单了public static void main(String[] args) {TestModel model1 = new TestModel();model1.setId("A");model1.setDate1(new Date());model1.setDate2(LocalDate.now());model1.setDate3(LocalDateTime.now());model1.setTime(LocalTime.now());TestModel2<TestModel> model2 = new TestModel2<>();model2.setId("PA");model2.setSub(model1);String json1 = JsonUtils.toJson(model1);String json2 = JsonUtils.toJson(model2);System.out.println(json1);System.out.println(json2);// 简单对象可以⽤这个TestModel obj1 = JsonUtils.parse(json1, TestModel.class);TestModel2<TestModel> obj2 = JsonUtils.parse(json2, TestModel2.class);// 需要准确泛型的复杂对象可以⽤这个,这种⽅式与上⾯有细微差别,读者可以⾃⾏debug研究 TestModel2<TestModel> obj3 = JsonUtils.parse(json2, new TypeReference<TestModel2<TestModel>>() {});System.out.println(obj1);System.out.println(obj2);System.out.println(obj3);}程序输出:以上这篇关于Jackson的JSON⼯具类封装 JsonUtils⽤法就是⼩编分享给⼤家的全部内容了,希望能给⼤家⼀个参考,也希望⼤家多多⽀持。
java.util包下的类及常用方法

java.util包下的类及常⽤⽅法1、⽇期类 Date类
常⽤⽅法
创建⽇期对象:Date date = new Date ( ) ;
获取当前时间以标准格式:date
获取当前时间的毫秒数:date.getTIme ( )
获取纪元时间:date。
toGMTString ( )
时间转成字符串:date.toString ( )
这个类的⼀些⽅法已经过时了、被⽇历类取代!
2、⽇历类 Calender类
常⽤⽅法
getlnstance():获取⽇历对象
get():获取指定的单位的⽇历数值(年,⽉,⽇等等)
set():设置指定单位的⽇历数值
add():添加指定单位的⽇历数值
getTimelnMills():获取⽇历的毫秒数
3、SCanner类
常⽤⽅法
扫描控制台:Scanner sc = new Scanner(System.in)
扫描字符串,遇到空格就返回给程序:sc.next()
扫描⼀个整数:sc.nextInt()
扫描⼀个⼩数:sc.nextDouble()
扫描⼀⾏:sc.nextLine()
4、定时器类 Timer类
常⽤⽅法
创建TImer对象:
Timer timer = new Timer();
Timer timer = new Timer(name);
timer.schedule(TimerTask,2000); 2秒后执⾏⼀次任务
t imer.schedule(TimerTask,2000,1000); 2秒后开始执⾏任务,每1s执⾏⼀次。
java json 用法

Java中的JSON用法JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,常用于Web应用程序之间传输数据。
Java语言提供了多种处理JSON数据的方式,其中最常见的是使用JSON 库,如Jackson、Gson和Fastjson等。
一、Jackson库的使用Jackson是Java中常用的JSON库之一,它提供了丰富的功能来处理JSON数据。
下面是一个简单的示例,演示了如何使用Jackson库将Java对象转换为JSON字符串,以及将JSON字符串解析为Java对象。
引入Jackson依赖在使用Jackson之前,需要将其添加到项目的依赖中。
如果你使用的是Maven构建工具,可以在pom.xml文件中添加以下依赖:java<dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.13.0</version></dependency>Java对象转换为JSON字符串假设有一个名为Person的Java类,包含id、name和age属性。
我们可以使用Jackson 的ObjectMapper类将其转换为JSON字符串。
javaimport com.fasterxml.jackson.databind.ObjectMapper;import com.fasterxml.jackson.databind.annotation.JsonSerialize;import com.fasterxml.jackson.databind.annotation.JsonSerialize.Inclusion;import com.fasterxml.jackson.databind.serialization.IndentOutput;public class Main {public static void main(String[] args) throws Exception {Person person = new Person(1, "Alice", 30);ObjectMapper mapper = new ObjectMapper();String json = mapper.writeValueAsString(person);System.out.println(json);}}JSON字符串解析为Java对象同样地,我们可以使用ObjectMapper类将JSON字符串解析为Java对象。
JSON在Java中的使用(一)

JSON在Java中的使⽤(⼀)1.去JSON官⽹下载org.json包2.在pom.xml中引⼊org.json依赖新建⼀个maven项⽬,在pom.xml中配置org.json依赖把org.json引⽤到项⽬之后,就可以使⽤JSONObject对象,可以去JSON官⽹下载JSON doc⽂档查看有关JSONObject的相关信息(package-summary.html)3.在Java中使⽤JSON的⽅法⽅法⼀:使⽤JSONObject来⽣成JSON格式数据原JSON格式数据:1 {2 "name" : "王⼩⼆",3 "age" : 25.2,4 "birthday" : "1990-01-01",5 "schoole" : "蓝翔",6 "major" : ["理发","挖掘机"],7 "has_girlfriend" : false,8 "car" : null,9 "house" : null 10 }Java代码:1package json;2import org.json.JSONObject;3public class JsonObjectSample{45public static void main(String[] args){6 jSONObject();7 }8 }9private static void jSONObject(){10 JSONObject wangxiaoer = new JSONObject();//new⼀个JSONObject对象,命名为wangxiaoer11 Object nullObj = null; //解决put中因⼆义性引起的编译错误12try{13 wangxiaoer.put("name","王⼩⼆");14 wangxiaoer.put("age",25.2);15 wangxiaoer.put("birthday","1990-01-01");16 wangxiaoer.put("school","蓝翔");17 wangxiaoer.put("major",new String[] {"理发","挖掘机"});18 wangxiaoer.put("has_girlfriend",false);19 wangxiaoer.put("car",nullObj);20 wangxiaoer.put("house",nullObj);21 System.out.println(wangxiaoer.toString());//输出JSON格式的wangxiaoer数据22 }catch(JSONException e){23 e.printStackTrace();24 }25 }运⾏Java程序控制台打印输出:{"age":25.2,"birthday":"1990-01-01","car":null,"has_girlfriend":false,"house":null,"major":["理发","挖掘机"],"name":"王⼩⼆","schoole":"蓝翔"}把打印输出的数据利⽤JSON编辑器格式化⼀下,并转换成我们的⽬标值:以上我们通过JSONObject构建完成了JSON格式数据,其中我们主要⽤到put⽅法来增加wangxiaoer对象的属性。
java后台封装json数据学习总结(一)

java后台封装json数据学习总结(⼀)⼀、数据封装1. List集合转换成json代码 List list = new ArrayList(); list.add( "first" ); list.add( "second" ); JSONArray jsonArray2 = JSONArray.fromObject( list );2. Map集合转换成json代码 Map map = new HashMap(); map.put("name", "json"); map.put("bool", Boolean.TRUE); map.put("int", new Integer(1)); map.put("arr", new String[] { "a", "b" }); map.put("func", "function(i){ return this.arr[i]; }"); JSONObject json = JSONObject.fromObject(map);3. Bean转换成json代码 JSONObject jsonObject = JSONObject.fromObject(new JsonBean());4. 数组转换成json代码 boolean[] boolArray = new boolean[] { true, false, true }; JSONArray jsonArray1 = JSONArray.fromObject(boolArray);5. ⼀般数据转换成json代码 JSONArray jsonArray3 = JSONArray.fromObject("['json','is','easy']" );⼆、JAR包简介mons-lang.jarmons-beanutils.jarmons-collections.jarmons-logging.jar5.ezmorph.jar6.json-lib-2.2.2-jdk15.jar⽤法同上 JSONObject jsonObject = JSONObject.fromObject(message); getResponse().getWriter().write(jsonObject.toString());当把数据转为json后,⽤如上的⽅法发送到客户端。
Java中的JSON解析与操作

Java中的JSON解析与操作在Java编程语言中,JSON(JavaScript Object Notation)是一种常用的数据交换格式。
JSON解析和操作在Java中是非常重要的技能,它允许开发人员进行数据的序列化和反序列化,有效地处理和处理数据。
本文将介绍Java中JSON解析和操作的基本知识和常用技巧。
一、JSON介绍JSON是一种轻量级的数据交换格式,具有易于理解和编写的特点。
它使用人类可读的文本格式表示简单数据结构和对象的集合,常用于将数据从服务器发送到web页面。
JSON由键值对组成,使用花括号{}表示对象,使用方括号[]表示数组。
以下是一个JSON示例:{"name": "John","age": 30,"city": "New York"}在Java中,可以使用各种库和工具来解析和操作JSON。
下面我们将介绍两种常用的方法:使用JSON库和使用Jackson库。
二、使用JSON库解析和操作JSONJSON库是一种Java工具,可以方便地解析和操作JSON数据。
常用的JSON库包括Gson、JSON-lib和JSON.simple等。
下面以Gson为例,介绍如何使用JSON库解析和操作JSON。
1. 导入Gson库首先,需要在项目中导入Gson库的jar文件。
可以从官方网站上下载,然后将其添加到项目的依赖中。
2. 解析JSON要解析JSON,首先需要创建一个Gson对象。
然后使用fromJson()方法将JSON字符串解析为Java对象。
例如,以下代码将解析名为"person.json"的JSON文件:```Gson gson = new Gson();Reader reader = new FileReader("person.json");Person person = gson.fromJson(reader, Person.class);```3. 操作JSON解析完JSON后,可以通过对象的属性和方法来操作JSON数据。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
本文由我司收集整编,推荐下载,如有疑问,请与我司联系
在JAVA 中封装JSONUtils 工具类及使用(转)
HashMap String, Object data = new HashMap String, Object (); JSONObject jsonObject = JSONUtils.toJSONObject(object); Iterator it = jsonObject.keys(); while (it.hasNext()) String key = String.valueOf(it.next()); Object value = jsonObject.get(key); data.put(key, value); return data; /*** * 将对象转换为List * @param object * @return
// 返回非实体类型(Map)的List public static List Map String, Object toList(Object object) List Map String, Object list = new ArrayList Map String, Object (); JSONArray jsonArray = JSONArray.fromObject(object); for (Object obj : jsonArray) JSONObject jsonObject = (JSONObject) obj; Map String, Object map = new HashMap String, Object (); Iterator it = jsonObject.keys(); while (it.hasNext()) String key = (String) it.next(); Object value = jsonObject.get(key); map.put((String) key, value); list.add(map); return list; /*** * 将JSON 对象数组转换为传入类型的List * @param * @param jsonArray *
@param objectClass * @return public static T List T toList(JSONArray jsonArray, Class T objectClass) return JSONArray.toList(jsonArray, objectClass); /*** * 将对象转换为传
入类型的List * @param * @param jsonArray * @param objectClass * @return public static T List T toList(Object object, Class T objectClass) JSONArray jsonArray = JSONArray.fromObject(object); return JSONArray.toList(jsonArray, objectClass); /*** *
将JSON 对象转换为传入类型的对象* @param * @param jsonObject * @param beanClass * @return public static T T toBean(JSONObject jsonObject, Class T beanClass)
return (T) JSONObject.toBean(jsonObject, beanClass); /*** * 将将对象转换为传入类型
的对象* @param * @param object * @param beanClass * @return public static T T toBean(Object object, Class T beanClass) JSONObject jsonObject = JSONObject.fromObject(object); return (T) JSONObject.toBean(jsonObject, beanClass); /*** * 将JSON 文本反序列化为主从关系的实体* @param 泛型T 代表主实体类型
* @param 泛型D 代表从实体类型* @param jsonString JSON 文本* @param mainClass 主实体类型* @param detailName 从实体类在主实体类中的属性名称*。