json-lib中在讲一个date类型转化时,将会有一个问题:json对象中该date类型将按照Java中类字段的形式保存下来,在程序中使用时及其不方便,现将解决方法贴出,如下所示:
1 首先重写一个Processor
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import net.sf.json.JsonConfig;
import net.sf.json.processors.JsonValueProcessor;
public class DateJsonValueProcessor implements JsonValueProcessor {
public static final String DEFAULT_DATE_PATTERN = "yyyy-MM-dd HH:mm:ss";
private DateFormat dateFormat;
/**
* 构造方法.
*
* @param datePattern 日期格式
*/
public DateJsonValueProcessor(String datePattern){
try {
dateFormat = new SimpleDateFormat(datePattern);
} catch (Exception ex) {
dateFormat = new SimpleDateFormat(DEFAULT_DATE_PATTERN);
}
}
public Object processArrayValue(Object value, JsonConfig jsonConfig) {
return process(value);
}
public Object processObjectValue(String key, Object value, JsonConfig jsonConfig) {
return process(value);
}
private Object process(Object value) {
return dateFormat.format((Date) value);
}
}
2 将上面的processor配置到使用的jsonConfig中
/**
* 配置json-lib需要的excludes和datePattern.
*
* @param excludes 不需要转换的属性数组,如果没有可以设置为null
* @param datePattern 日期转换模式
* @return JsonConfig 根据excludes和dataPattern生成的jsonConfig,用于write
*/
public static JsonConfig configJson(String[] excludes, String datePattern) {
JsonConfig jsonConfig = new JsonConfig();
jsonConfig.setExcludes(excludes);
jsonConfig.setIgnoreDefaultExcludes(false);
jsonConfig.setCycleDetectionStrategy(CycleDetectionStrategy.LENIENT);
jsonConfig.registerJsonValueProcessor(Date.class, new DateJsonValueProcessor(datePattern));
return jsonConfig;
}
3将Object或者Array转化为JSON
jsonArray = JSONArray.fromObject(someArray, config);
jsonObject=JSONObject.fromObject(object, jsonConfig);
另外还有另外一个办法,即在页面进行转化,可使用以下一句代码搞定:
formatDate(new Date(commentDate["time"]),"yyyy-MM-dd HH:mm:ss")
不过必须使用本文附件的js
分享到:
相关推荐
在实际应用中,处理JSON日期转换时,还需要考虑时区问题,因为JSON数据可能来自不同的时区。`json-lib`库允许自定义日期格式和时间戳格式,以确保在解析和序列化时的一致性。此外,现在的许多项目更倾向于使用`...
JSON转换为JAVA对象及日期格式转换处理 -
- `java.sql.Date`: SQL日期处理。 - `java.text.ParseException`: 解析异常处理。 - `java.text.SimpleDateFormat`: 日期格式化。 - `java.util.ArrayList`: 动态数组实现。 - `java.util.List`: 定义列表接口。 - ...
JSON(JavaScript Object Notation)是一种轻量级...可以使用标准的ISO 8601格式,也可以自定义日期格式,甚至利用第三方库如moment.js来增强日期处理的功能。在实际项目中,选择哪种方式取决于具体需求和项目复杂度。
2. **JavaScript中的日期处理** 在JavaScript中,我们可以使用`Date`对象来处理日期。创建一个`Date`对象并传入日期字符串,可以将字符串解析为日期对象。然后,我们可以使用`toDateString()`、`toUTCString()`、`...
对于从C#返回的日期字段,当进行JSON序列化后,在前台JS里显示的并不是真正的日期,这让我们感觉很不爽,我们不可能为了这东西,把所有日期字段都变成string吧,所以,找了一个JS的扩展方法,来实现这个功能 ...
在C#中,我们通常使用.NET框架提供的System.Text.Json或第三方库如Newtonsoft.Json(Json.NET)来处理JSON。下面我们将深入探讨这两个库在处理JSON数据时的关键知识点。 1. **System.Text.Json** .NET 5及更高...
- 在处理日期时,不同语言可能有不同的处理方式,需要特别注意。 - 安全性问题:在处理用户输入的JSON时,应确保进行适当的验证和清理,防止JSON注入攻击。 了解并熟练掌握JSON与对象的转换对于开发人员来说至关...
- 文档中还提到了`getObject4JsonString`方法,这个方法用于从JSON字符串反序列化到指定类型的Java对象,这是JSON处理中的常见操作。 在实际开发中,除了`net.sf.json`库,还有其他流行的Java JSON库,如Jackson、...
在实际开发中,Newtonsoft.Json还支持许多高级特性,如忽略空值、自定义日期格式、处理循环引用、自定义类型转换等。它还提供了LINQ to JSON API,可以直接在JSON结构上进行查询操作。此外,`JsonSerializerSettings...
虽然`JSON.stringify()`处理日期的方式在现代浏览器中是标准的,但在旧版本的IE(尤其是IE8及以下)中,它可能会将日期转换为`"[object Date]"`这样的字符串。为了解决这个问题,你可以提供一个替换函数作为`...
首先,Java中处理JSON的主要工具有两个:Jackson和Gson。这两个库提供了API,可以帮助我们轻松地将Java对象转换为JSON字符串,以及将JSON字符串反序列化为Java对象。 1. **Jackson库** Jackson是Java中常用的JSON...
2. `commons-lang`:提供语言级别的扩展,如字符串和日期处理。 3. `commons-beanutils`:简化JavaBean与JSON之间的映射。 4. `json-lib`:核心JSON处理库,实现JSON的序列化和反序列化。 5. `ezmorph`:对象转换...
5. **日期处理**:JSON标准不包含日期类型,因此需要特定方式处理日期。Json.NET允许自定义日期格式化器。 6. **XML与JSON转换**:在某些情况下,可能需要在JSON和XML之间进行转换。Json.NET提供了便捷的方法来实现...
`json-lib`是一个流行的Java库,用于处理JSON格式,它提供了多种类型到JSON的转换功能,包括日期和时间。 本文将详细介绍如何使用`json-lib`进行JSON转换,并特别关注日期的处理。在提供的压缩包文件中,我们可以...
在Spring Boot中处理JSON数据的时间格式化是一个常见的需求,尤其是当后端需要与前端或其他服务通过JSON格式交换日期时间数据时。为了满足不同场景下对时间格式的要求,开发者可以使用Jackson库提供的注解来解决这一...
`JsonUtil`类可能还包括其他处理JSON的方法,如将Java对象序列化为JSON字符串、处理嵌套的JSON结构、处理日期等复杂类型等。通常,这类工具类会利用第三方库,如`net.sf.json`或`com.google.gson`,它们提供了丰富的...
这样的库将Java对象转换为JSON时,如果不做特殊处理,JSON字符串中的日期可能不会以我们期望的“年-月-日 时:分:秒”格式呈现,而是默认的日期时间格式,这可能对前端展示造成困扰。 下面是一个简单的例子来说明这...
虽然JavaScriptSerializer可以满足基本需求,但更推荐使用第三方库Json.NET(Newtonsoft.Json),它提供了更高效、更灵活的JSON处理功能,例如支持自定义日期格式化、忽略空值等。 通过阅读“json数据处理.txt”...
在Struts2中,处理JSON主要包括以下几个步骤: 1. **添加依赖**:首先,需要在项目中引入Struts2的JSON插件。通常,这可以通过在Maven的pom.xml文件中添加相关依赖,或者在构建路径中手动添加struts2-json-plugin....