package com.messoft.service.excel;
import java.text.SimpleDateFormat;
import java.util.Date;
import net.sf.json.JsonConfig;
import net.sf.json.processors.JsonValueProcessor;
import net.sf.json.util.CycleDetectionStrategy;
import com.messoft.utils.constant.ConfigConstant;
/**
* json-lib 辅助类
*
* @author 张秀皎
* @version 1.0, 2010-11-17
*/
public class JsonUtils {
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 JsonUtils.DateJsonValueProcessor(datePattern));
return jsonConfig;
}
public static class DateJsonValueProcessor implements JsonValueProcessor {
private SimpleDateFormat sdf;
public DateJsonValueProcessor() {
sdf = new SimpleDateFormat(ConfigConstant.DATE_STYLE_SHOT);
}
public DateJsonValueProcessor(String datePattern) {
sdf = new SimpleDateFormat(datePattern);
}
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 sdf.format((Date) value);
}
}
}
用法:JSONObject jsonObject = JSONObject.fromObject(starvingProxy,JsonUtils.configJson(null, "yyyy-MM-dd"));
分享到:
相关推荐
JSON-lib是一个Java库,它提供了将Java对象转换为JSON表示以及从JSON文本反序列化回Java对象的功能。该库的版本是2.3,针对JDK 15进行了优化。"json-lib-2.3-jdk15-sources.jar"文件包含了该库的源代码,这对于...
3. **处理日期和时间**:通过`net.sf.json.util.JSONDate`,你可以将Java的Date对象转换为JSON格式,也可以将JSON中的日期字符串转换回Date。 4. **处理XML和JSON之间的转换**:`json-lib`提供`XML.toJSONObject()`...
由于Json-lib主要用于Java环境,JavaScript中通常使用内置的`Date`对象和`toISOString()`方法处理日期,但这并不适用于Java服务器端的Json-lib。 总的来说,理解和处理Json-lib中的日期转换是Java开发人员在进行...
而`json-lib`是一个Java库,用于将Java对象转换为JSON格式,同时也能将JSON内容反序列化回Java对象。这个压缩包"json-lib(所有依赖jar).zip"包含了`json-lib`库以及其运行所需的全部依赖,便于在Java项目中直接使用...
这个库提供了多种转换JSON到Java对象和反之的方法,比如List、Map、Date等。例如,你可以使用`net.sf.json.JSONObject`和`net.sf.json.JSONArray`类来创建、解析和操作JSON对象。 3. **依赖的其他库** - `commons-...
在Java中,我们需要将这些字符串转换为`java.util.Date`或`java.time`包中的类以便进一步处理。JSON Lib提供了API来帮助我们完成这个转换。 首先,我们需要了解JSON Lib中的关键类,如`JSONObject`、`JSONArray`和`...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛应用于Web服务和应用程序之间的数据传输,因为它易于读写,且被大多数编程语言支持。在Java世界中,`net.sf.json`库是一个流行的JSON处理库,它...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它采用完全独立于语言的文本格式,但也使用了类似于C家族语言,包括C、C++、C#、Java、JavaScript、Perl、Python等。JSON是易于人阅读和编写,同时...
3. `SqlDateProcessor.java`和`UtilDateProcessor.java`: 这两个类与`TimestampProcessor`类似,分别处理`java.sql.Date`和`java.util.Date`类型。由于这些日期类型在JSON中表示方式的不同,自定义处理器可以确保...
<param name="class" value="your.java.Bean"/> ``` - 对于DWR 1.x版本,`<!DOCTYPE>`中的版本号需相应调整为1.0和10。 #### 四、理解DWR配置文件 1. **`dwr.xml`结构解析**: - `<dwr>`:DWR配置文件的...
import java.util.Date; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Set; import net.sf.json.JSONObject; import net.sf.json.JsonConfig; ``` #### 三、创建...
import java.util.Date; class Person { String name; int age; Date birthday; // getters and setters } Person person = new Person(); // set person properties... Gson gson = new Gson(); ...
- **Student.java** ```java package com.vstsoft.model; import java.io.Serializable; import java.sql.Date; public class Student extends Page implements Serializable { private int id; private String...
利用Java的反射机制和json-lib包进行对象转JSON,包括set,list,object等,只需要对util类进行对应的配置即可。在对象转json的时候经常会出现对象持有set,list,date类型时会发生递归无限循环的情况,此代码完美...
在这个例子中,DWR会为`java.util.Date`类生成一个名为`JDate`的JavaScript对象,同时为`your.java.Bean`类生成一个名为`Demo`的JavaScript对象,使得你可以直接在JavaScript中创建和操作这些对象。 要开始使用DWR...
- 如`Ext.util.Format.date(new Date(), 'Y-m-d')`将日期格式化为“年-月-日”的形式。 - **再谈XTemplate** - XTemplate不仅用于生成静态内容,还可以结合`Ext.util.Format`进行动态格式化。 - 例如:`...
具体到JSON处理,Flex3提供了一个名为`mx.rpc.json.util.JSONUtil`的类,该类包含了`decode`和`encode`方法,分别用于将JSON字符串转换为ActionScript对象,以及将ActionScript对象转换为JSON字符串。例如: ```...
ProcessInstance的 java.util.Set<java.lang.String> findActiveActivityNames() @Override public List<ActivityCoordinates> findActivityCoordinates(String pid) { // 1、 根据流程实例id 获得所有活动...