1、jar包
commons-beanutils-xxx.jar
commons-collections-xxx.jar
commons-lang-xxx.jar
commons-logging-xxx.jar
ezmorph-xxx.jar
json-lib-xxx.jar
2、java代码及测试类
package com.zhaolp.json; import java.io.Serializable; import java.util.Date; import java.util.List; /** * @author zhaolunpeng * @date 2016-1-6 上午10:28:02 * 功能:json测试基类 */ public class JsonBaseBean implements Serializable { private static final long serialVersionUID = 2425694623661801705L; private Date monitorDate;//时间 private String cityCode;//城市代码 private double data; private List<String> cityCodeList; public Date getMonitorDate() { return monitorDate; } public void setMonitorDate(Date monitorDate) { this.monitorDate = monitorDate; } public String getCityCode() { return cityCode; } public void setCityCode(String cityCode) { this.cityCode = cityCode; } public double getData() { return data; } public void setData(double data) { this.data = data; } public List<String> getCityCodeList() { return cityCodeList; } public void setCityCodeList(List<String> cityCodeList) { this.cityCodeList = cityCodeList; } }
package com.zhaolp.json; import java.util.Date; import net.sf.ezmorph.object.DateMorpher; import net.sf.json.JSONObject; import net.sf.json.JsonConfig; import net.sf.json.util.JSONUtils; import net.sf.json.util.PropertyFilter; import org.apache.commons.lang3.StringUtils; /** * @author zhaolunpeng * @date 2016-1-6 上午10:39:27 * 功能:json与javaBean互转 */ public class Json2JavaBean { private String dateFormat = "yyyy-MM-dd"; /** * @author zhaolunpeng * @date 2016-1-6 上午10:42:39 * @param json * @return java 对象 * 功能:json转java对象 */ public JsonBaseBean jsonToJava(String json){ JsonBaseBean jsonBaseBean = null; try { if(StringUtils.isNotBlank(json)){ //处理json时间属性格式 JSONUtils.getMorpherRegistry().registerMorpher(new DateMorpher(new String[]{dateFormat})); JSONObject jsonObj = JSONObject.fromObject(json); jsonBaseBean = (JsonBaseBean)JSONObject.toBean(jsonObj, JsonBaseBean.class); } } catch (Exception e) { e.printStackTrace(); } return jsonBaseBean; } /** * @author zhaolunpeng * @date 2016-1-6 上午11:04:26 * @param jsonBaseBean * @return json字符串 * 功能:java对象转json */ public String javaToJson(JsonBaseBean jsonBaseBean){ String json = null; try { JsonConfig jsonConfig = new JsonConfig(); jsonConfig.registerJsonValueProcessor(Date.class, new JsonDateValueProcessor(dateFormat)); JSONObject array = JSONObject.fromObject(jsonBaseBean, jsonConfig); json = array.toString(); } catch (Exception e) { e.printStackTrace(); } return json; } /** * @author zhaolunpeng * @date 2016-1-6 下午1:35:06 * @param jsonBaseBean * @return json字符串 * 功能:java对象转json过滤属性 */ public String jsonFilter(JsonBaseBean jsonBaseBean){ String json = null; try { JsonConfig jsonConfig = new JsonConfig(); jsonConfig.registerJsonValueProcessor(Date.class, new JsonDateValueProcessor(dateFormat)); //过滤属性 jsonConfig.setJsonPropertyFilter(new PropertyFilter() { public boolean apply(Object source, String name, Object value) { if ("cityCodeList".equals(name)) { return true; } return false; } }); JSONObject array = JSONObject.fromObject(jsonBaseBean, jsonConfig); json = array.toString(); } catch (Exception e) { e.printStackTrace(); } return json; } }
package com.zhaolp.json; import java.util.ArrayList; import java.util.Date; import java.util.List; /** * @author zhaolunpeng * @date 2016-1-6 上午11:12:19 * 功能:测试类 */ public class JsonTest { public static void main(String[] args) { //创建一个JsonBaseBean JsonBaseBean jsonBaseBean = new JsonBaseBean(); jsonBaseBean.setCityCode("120001"); jsonBaseBean.setData(1.22); jsonBaseBean.setMonitorDate(new Date()); List<String> list = new ArrayList<String>(); list.add("130001"); list.add("140001"); jsonBaseBean.setCityCodeList(list); //调用转换方法 对象转json Json2JavaBean json2JavaBean = new Json2JavaBean(); String json = json2JavaBean.javaToJson(jsonBaseBean); System.out.println("json:"+json); //json转java对象 JsonBaseBean aaa = json2JavaBean.jsonToJava(json); System.out.println(aaa.getMonitorDate()); //过滤属性 String jsonFilter = json2JavaBean.jsonFilter(jsonBaseBean); System.out.println(jsonFilter); } }
java转json日期处理类
package com.zhaolp.json; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Locale; import net.sf.json.JsonConfig; import net.sf.json.processors.JsonValueProcessor; /** * JSON 日期格式处理(java转化为JSON) * @author zhaolunpeng */ public class JsonDateValueProcessor implements JsonValueProcessor { /** * datePattern */ private String datePattern; /** * @param format */ public JsonDateValueProcessor(String format) { super(); this.datePattern = format; } /** * @param value * @param jsonConfig * @return Object */ public Object processArrayValue(Object value, JsonConfig jsonConfig) { return process(value); } /** * @param key * @param value * @param jsonConfig * @return Object */ public Object processObjectValue(String key, Object value, JsonConfig jsonConfig) { return process(value); } /** * process * @param value * @return */ private Object process(Object value) { try { if (value instanceof Date) { SimpleDateFormat sdf = new SimpleDateFormat(datePattern, Locale.UK); return sdf.format((Date) value); } return value == null ? "" : value.toString(); } catch (Exception e) { return ""; } } }
相关推荐
要使用 `json-lib` 实现 JSON 与 Java 对象的互转,首先需要在项目中引入该库。如果你使用的是 Maven,可以在 `pom.xml` 文件中添加如下依赖: ```xml <groupId>net.sf.json-lib</groupId> <artifactId>json-lib...
Java对象与JSON之间的转换在现代Web开发中至关重要,因为它们是服务器端数据处理和客户端交互的主要格式。Gson是Google提供的一个开源库,专门用于在Java对象和JSON数据之间进行无缝转换。它以其强大、灵活和高效而...
Java则是一种强大的后端编程语言,两者之间的互转能够帮助我们有效地处理数据。以下是对给定的jar包文件及其在Java与JSON转换中的作用的详细解释: 1. **json-lib-2.4-jdk15.jar.zip**:这是JSON库的核心,用于实现...
`json-lib`还提供了XML与JSON的互转功能,这对于需要在两者间切换的场景非常有用。 总结来说,`json-lib`是一个强大且易用的工具,它使得在Java中处理JSON变得简单。通过其提供的API,我们可以方便地进行JSON字符...
### JSON与Java对象互转:深入理解与实践 在现代软件开发中,JSON(JavaScript Object Notation)作为数据交换的标准格式之一,其轻量级、易于读写的特点使其成为跨平台数据传输的首选。Java作为一种广泛使用的编程...
本文将详细介绍如何使用Jackson库进行JSON与Java对象的互转。 首先,我们需要引入Jackson库的依赖。对于Maven项目,可以在pom.xml文件中添加以下依赖: ```xml <groupId>com.fasterxml.jackson.core</groupId> ...
Java与JSON之间的互操作是指在Java程序中对JSON(JavaScript Object Notation)数据进行解析、序列化和反序列化的过程。JSON是一种轻量级的数据交换格式,它易于人阅读和编写,同时也易于机器解析和生成。在Java中,...
在本项目中,`jackson-test`可能是一个包含测试代码的模块,用于演示如何使用Jackson进行JSON和Java对象的互转。 1. **安装Jackson库** 在Java项目中使用Jackson,通常需要将以下Maven依赖添加到`pom.xml`文件中:...
Jackson是Java领域最流行的JSON处理库之一,它提供了高效且灵活的API来实现JSON与Java对象之间的相互转换。本实例将详细介绍如何使用Jackson库进行JSON到Java对象的反序列化以及Java对象到JSON的序列化。 首先,...
Java提供了多种库来实现对象与JSON的互转,如Jackson、Gson、Fastjson等。这里我们将主要讨论这些工具类的使用方法以及它们在处理对象到JSON字符串和反向转换时的关键知识点。 1. Jackson库: Jackson是Java中非常...
JavaBean和JSON之间的转换在Java开发中非常常见,特别是在处理前后端交互时。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。JavaBean则是一种符合...
本篇将详细介绍使用Gson进行Java对象和Json对象互转的方法以及所需的jar包。 首先,要使用Gson库,你需要在项目中引入相关的jar包。根据描述,这里提供了一个压缩包,包含四个所需的jar包。这些jar包通常包括Gson的...
JavaBean和JSON之间的转换在Java开发中非常常见,特别是在处理前后端交互时。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。JavaBean则是一种符合...
标题“json与对象互转,json数组与对象数组互转”涉及到的是如何在JavaScript中将JSON字符串和JavaScript对象之间进行转换,以及JSON数组和JavaScript对象数组之间的转换。在JavaScript中,有内置的全局函数`JSON....
该项目“json和java互转完整项目demo(jackson)”显然是一个使用Jackson库进行JSON与Java对象之间转换的示例项目。Jackson库的核心组件包括`ObjectMapper`,它是整个库的中心,负责JSON与Java对象之间的转换工作。 1...
在本文中,我们将深入探讨Gson解析器的工作原理以及如何利用它来实现JSON和实体类对象之间的互转。 1. **Gson简介** Gson库的核心功能在于提供了一种直观的方式来将Java对象转换为它们对应的JSON表示,反之亦然。...
Google Gson库提供了一个强大的工具,使得Java对象与JSON字符串之间的转换变得简单易行。本文将详细介绍如何利用Google Gson库进行JSON字符串与对象之间的相互转换。 首先,我们需要了解Gson的核心概念。Gson库通过...
4. **XML与JSON互转**: json-lib还提供了XML与JSON之间的转换功能,这对于那些需要在XML和JSON间切换的项目很有帮助。 5. **性能和兼容性**: 讨论可能包括json-lib与其他JSON库(如Gson、Jackson、Fastjson等)...
- Gson是Google提供的库,同样实现了JSON与Java对象的互转。 - 使用`Gson()`实例来转换对象,例如`gson.toJson(object)`和`gson.fromJson(jsonString, ClassType.class)`。 5. **org.json库** - 这是一个小型的...
在本篇文章中,我们将深入探讨如何使用Jackson库实现Object对象与Json字符串的互转。 首先,让我们了解Jackson库的核心组件。Jackson库主要有三个核心模块: 1. `fasterxml.jackson.databind`:这是数据绑定模块,...