java使用json-lib库的json工具类.
import net.sf.ezmorph.object.DateMorpher;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import net.sf.json.JsonConfig;
import net.sf.json.processors.JsonValueProcessor;
import net.sf.json.util.CycleDetectionStrategy;
import net.sf.json.util.JSONUtils;
/**
 * 处理json的工具类,负责json数据转换成java对象和java对象转换成json * * @since 2012年7月4日22:36:43 * @author leaves,QQ:1330771552 */public class JsonUtil {    /**     * 从一个JSON 对象字符格式中得到一个java对象     *     * @param jsonString     * @param pojoCalss     * @return     */    @SuppressWarnings("unchecked")    public static <T> T jsonToObject(String jsonString, Class<T> pojoCalss) {        Object pojo;        JSONObject jsonObject = JSONObject.fromObject(jsonString);        pojo = JSONObject.toBean(jsonObject, pojoCalss);        return (T) pojo;    }    /**     * json字符串转换成集合     *     * @param jsonString     * @param pojoClass     * @return     */    @SuppressWarnings("unchecked")    public static <T> List<T> jsonToList(String jsonString, Class<T> pojoClass) {        JSONArray jsonArray = JSONArray.fromObject(jsonString);        JSONObject jsonObject;        Object pojoValue;        List<T> list = new ArrayList<T>();        for (int i = 0; i < jsonArray.size(); i++) {            jsonObject = jsonArray.getJSONObject(i);            pojoValue = JSONObject.toBean(jsonObject, pojoClass);            list.add((T) pojoValue);        }        return list;    }    /**     * json字符串转换成集合     *     * @param jsonString     * @param pojoClass     * @return     */    @SuppressWarnings("unchecked")    public static <T> List<T> jsonToList(String jsonString, Class<T> pojoClass, String dataFormat) {        JsonConfig jsonConfig = configJson(dataFormat);        JSONArray jsonArray = JSONArray.fromObject(jsonString, jsonConfig);        JSONObject jsonObject;        Object pojoValue;        List<T> list = new ArrayList<T>();        for (int i = 0; i < jsonArray.size(); i++) {            jsonObject = jsonArray.getJSONObject(i);            pojoValue = JSONObject.toBean(jsonObject, pojoClass);            list.add((T) pojoValue);        }        return list;    }    /**     * 将java对象转换成json字符串     *     * @param javaObj     * @return     */    public static String objectToJson(Object javaObj) {        JSONObject json;        json = JSONObject.fromObject(javaObj);        return json.toString();    }    /**     * 将java对象转换成json字符串,并设定日期格式     *     * @param javaObj     *            要转换的java对象     * @param dataFormat     *            制定的日期格式     * @return     */    public static String objectToJson(Object javaObj, String dataFormat) {        JSONObject json;        JsonConfig jsonConfig = configJson(dataFormat);        json = JSONObject.fromObject(javaObj, jsonConfig);        return json.toString();    }    /**     * list变成json     *     * @param list     * @return     */    public static <T> String listToJson(List<T> list) {        JSONArray json;        json = JSONArray.fromObject(list);        return json.toString();    }    /**     * list变成json     *     * @param list     * @return     */    public static <T> String listToJson(List<T> list, String dataFormat) {        JSONArray json;        JsonConfig jsonConfig = configJson(dataFormat);        json = JSONArray.fromObject(list, jsonConfig);        return json.toString();    }    /**     * JSON 时间解析器     *     * @param datePattern     * @return     */    public static JsonConfig configJson(final String datePattern) {        JSONUtils.getMorpherRegistry().registerMorpher(new DateMorpher(new String[] { datePattern }));        JsonConfig jsonConfig = new JsonConfig();        jsonConfig.setIgnoreDefaultExcludes(false);        jsonConfig.setCycleDetectionStrategy(CycleDetectionStrategy.LENIENT);        jsonConfig.registerJsonValueProcessor(Date.class, new JsonValueProcessor() {            @Override            public Object processObjectValue(String key, Object value, JsonConfig jsonConfig) {                if (value instanceof Date) {                    String str = new SimpleDateFormat(datePattern).format((Date) value);                    return str;                }                return value == null ? null : value.toString();            }            @Override            public Object processArrayValue(Object value, JsonConfig jsonConfig) {                String[] obj = {};                if (value instanceof Date[]) {                    SimpleDateFormat sf = new SimpleDateFormat(datePattern);                    Date[] dates = (Date[]) value;                    obj = new String[dates.length];                    for (int i = 0; i < dates.length; i++) {                        obj[i] = sf.format(dates[i]);                    }                }                return obj;            }        });        return jsonConfig;    }}data=[{"xuHao":"201407140001","scaleNo":"01","qrCode":"440100100002B993","beforeWeight":15.85,"fillingWeight":30.50,"steelno":"013267","fillingWorkerID":"","fillingDate":"2014-07-14 09:29:01"},{"xuHao":"201507140002","scaleNo":"01","qrCode":"4401001000013475","beforeWeight":15.85,"fillingWeight":30.50,"steelno":"003212","fillingWorkerID":"","fillingDate":"2015-07-14 09:33:01"}]
String strObject=request.getParameter("data");
FillingDetailRecordsEntity requestBean=(FillingDetailRecordsEntity)jsonToObject(strObject,FillingDetailRecordsEntity.class);
json lib 2.4及其依赖包下载
下载文件地址:https://files.cnblogs.com/files/xiandedanteng/json-lib-2.4%26dependencies_jars.rar
它包括
commons-beanutils-1.9.3.jar
commons-collections-3.2.jar
commons-lang-2.3.jar
commons-logging-1.2.jar
ezmorph-1.0.6.jar
json-lib-2.4-jdk15.jar
这些库可以满足转化Java对象到json的需要。
在线JSON字符串转Java实体类(JavaBean、Entity)
java使用json-lib库的json工具类.的更多相关文章
- Java多线程与并发库高级应用-工具类介绍
		java.util.concurrent.Lock 1.Lock比传统线程模型中的synchronized方式更加面向对象,与生活中的锁类似,锁本身也应该是一个对象.两个线程执行的代码片段要实现同步互 ... 
- JSON对象与XML相互转换工具类
		依赖jar <dependency> <groupId>dom4j</groupId> <artifactId>dom4j</artifactId ... 
- .NET3.5中JSON用法以及封装JsonUtils工具类
		.NET3.5中JSON用法以及封装JsonUtils工具类 我们讲到JSON的简单使用,现在我们来研究如何进行封装微软提供的JSON基类,达到更加方便.简单.强大且重用性高的效果. 首先创建一个类 ... 
- java调用kettle的job和transfer工具类
		package com.woaiyitiaocai.util; import java.util.Map; import java.util.UUID; import org.apache.log4j ... 
- Java Class与反射相关的一些工具类
		package com.opslab.util; import org.apache.log4j.Logger; import java.io.File;import java.io.IOExcept ... 
- Java语言Lang包下常用的工具类介绍_java - JAVA
		文章来源:嗨学网 敏而好学论坛www.piaodoo.com 欢迎大家相互学习 无论你在开发哪中 Java 应用程序,都免不了要写很多工具类/工具函数.你可知道,有很多现成的工具类可用,并且代码质量都 ... 
- Java基础学习总结(54)——JSON和Map转换的工具类
		在pom.xml文件中引入如下jar <dependency> <groupId>commons-lang</groupId> <artifactId> ... 
- 将JSON转换成MAP的工具类
		package com.xxxx.util; import java.io.BufferedReader; import java.io.InputStream; import java.io.Inp ... 
- Java使用ObjectMapper做数据转换的常用工具类实现
		1.介绍 ObjectMapper类是Jackson库的主要类,它提供一些功能将数据集或对象转换的实现 2.依赖包 <!-- https://mvnrepository.com/artifact ... 
- java  springboot调用第三方接口  借助hutoool工具类  爬坑
		楼主是个后端小白一枚,之前没接触过后端,只学了java基本语法,还是在学校老师教的,学的很浅,什么ssh.ssm框架都没有学,最近在自学spring boot,看书学也看不是很懂,就在b站上看教学视频 ... 
随机推荐
- css详解1
			1.css的三种引入方式: 1.1.行内引入 <div style="color:red;">魔降风云变</div> <html> <he ... 
- mysql  登录报错
			执行命令:mysql -u root -p 错误:error while loading shared libraries: libncurses.so.5: cannot open shared o ... 
- Mysql 查询当天、昨天、近7天、一周内、本月、上一月等的数据(函数执行日期的算术运算)
			注:where语句后中的字段last_login_time 替换成 时间字段名 即可 #查询昨天登录用户的账号 ; #查询当天登录用户的账号 ; #查询所有last_login_time值在最后1天内 ... 
- go内置的反向代理
			package main import ( "log" "net/http" "net/http/httputil" "net/u ... 
- 2019/2/18 Test
			图论模拟 [简述情况]: \(110/400\) \(20 \leq rank\) \(AC:1\) 有思路但未\(AC:0\) 无思路\(:3\) 题目 简述 \(LUOGU4304\) 二分图最大 ... 
- BZOJ 4332: JSOI2012 分零食 FFT+分治
			好题好题~ #include <bits/stdc++.h> #define N 50020 #define ll long long #define setIO(s) freopen(s ... 
- ERROR: `elasticsearch` directory is missing in the plugin zip
			该问题出现在为elasticsearch安装中文分词器插件时 问题发生在插件和es版本不匹配~ 解决: es版本与插件版本对应齐 命令行安装 C:\Users\SeeClanUkyo>F:\el ... 
- 洛谷 P1807 最长路_NOI导刊2010提高(07) 题解
			P1807 最长路_NOI导刊2010提高(07) 题目描述 设G为有n个顶点的有向无环图,G中各顶点的编号为1到n,且当为G中的一条边时有i < j.设w(i,j)为边的长度,请设计算法,计算 ... 
- copy()函数技术推演
			/*** str_copy.c ***/ #include<stdio.h> void copy_str21(char *from, char *to) { for(; *from != ... 
- java学习笔记(3)数据类型、源码、反码、补码、精度损失、基本数据类型互相转换
			关于java中的数据类型: 1.数据类型的作用是什么? 程序当中有很多数据,每一个数据都是有相关类型的,不同数据类型的数据占用的空间大小不同. 数据类型的作用是指导java虚拟机(JVM)在运行程序的 ... 
