`
nbkangta
  • 浏览: 423516 次
  • 性别: Icon_minigender_1
  • 来自: 宁波
社区版块
存档分类
最新评论

Json-lib 如何转换日期格式的字段 json

    博客分类:
  • Java
阅读更多

json : {password:"234234",userName:"zhangbo",birth:"2008-01-03"}

 

javabean:

   1.  public class JSONTestBean {  
   2.   
   3.     private String userName;  
   4.   
   5.     private String password;  
   6.     private java.util.Date birth;  
   7.     //getter and setter  
   8. }  

 用json-lib如何将 json 转成 JSONTestBean?

json-lib-2.2可以为对应的class注册解析类,记住一定要2.2,2.1有同步问题。切记切记。
写一个DateJsonValueProcessor.java

   1.  package anni.core.web.json;  
   2.   
   3. import java.text.DateFormat;  
   4. import java.text.SimpleDateFormat;  
   5.   
   6. import java.util.Date;  
   7.   
   8. import net.sf.json.JSONObject;  
   9. import net.sf.json.JsonConfig;  
  10. import net.sf.json.processors.JsonValueProcessor;  
  11.   
  12.   
  13. /** 
  14.  * @author Lingo 
  15.  * @since 2007-08-02 
  16.  */  
  17. public class DateJsonValueProcessor implements JsonValueProcessor {  
  18.     public static final String DEFAULT_DATE_PATTERN = "yyyy-MM-dd";  
  19.     private DateFormat dateFormat;  
  20.   
  21.     /** 
  22.      * 构造方法. 
  23.      * 
  24.      * @param datePattern 日期格式 
  25.      */  
  26.     public DateJsonValueProcessor(String datePattern) {  
  27.         try {  
  28.             dateFormat = new SimpleDateFormat(datePattern);  
  29.         } catch (Exception ex) {  
  30.             dateFormat = new SimpleDateFormat(DEFAULT_DATE_PATTERN);  
  31.         }  
  32.     }  
  33.   
  34.     public Object processArrayValue(Object value, JsonConfig jsonConfig) {  
  35.         return process(value);  
  36.     }  
  37.   
  38.     public Object processObjectValue(String key, Object value,  
  39.         JsonConfig jsonConfig) {  
  40.         return process(value);  
  41.     }  
  42.   
  43.     private Object process(Object value) {  
  44.         return dateFormat.format((Date) value);  
  45.     }  
  46. }  

 然后在bean -> json的时候

# /** 
#  * write. 
#  * 
#  * @param bean obj 
#  * @param writer 输出流 
#  * @param excludes 不转换的属性数组 
#  * @param datePattern date到string转换的模式 
#  * @throws Exception 写入数据可能出现异常 
#  */  
# public static void write(Object bean, Writer writer,  
#     String[] excludes, String datePattern) throws Exception {  
#     JsonConfig jsonConfig = configJson(excludes, datePattern);  
#   
#     JSON json = JSONSerializer.toJSON(bean, jsonConfig);  
#   
#     json.write(writer);  
# }  
#   
# /** 
#  * 配置json-lib需要的excludes和datePattern. 
#  * 
#  * @param excludes 不需要转换的属性数组 
#  * @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;  
# }  
 
分享到:
评论
1 楼 liushu1234 2009-09-17  
麻烦能不能举个例子说下怎么用啊?

相关推荐

    angular-json-editor:以角度编辑任何 JSON 对象的指令

    link rel="stylesheet" href="./SOURCE_TO_LIB/angular-json-editor.css"/> [removed][removed] 包含 json-editor 指令作为对 angular 模块的依赖 angular.module("myapp", ["angularJsonEditor

    使用Ajax或Easyui等框架时的Json-lib的处理方案

    普通手动配置方法比较笨拙,每次需要根据字段名逐个配置,因此也无法再其他对象上使用,降低了代码的重用性,使用json-lib工具可以实现自动处理,针对不同的对象又不同的处理措施,大大提高了处理效率和代码的重用性...

    json的动态和静态过滤

    maven工程demo,包括jackson包和json-lib包的使用,使用jackson注解的方式过滤部分字段,json-libjson-lib动态过滤部分字段

    json-schema-defaults:从 JSON Schema 中的默认值生成 JSON 配置

    安装新产品经理npm install json-schema-defaults 凉亭bower install json-schema-defaults 手动的下载用法CommonJS (node.js) var defaults = require ( './path/to/index.js' ) ;defaults ( { ... } ) ; 要求JS //...

    json-lib出现There is a cycle in the hierarchy解决办法

    设置JSON-LIB让其过滤掉引起循环的字段。 Java代码 代码如下: JsonConfig config = new JsonConfig(); config.setIgnoreDefaultExcludes(false); config.setCycleDetectionStrategy(CycleDetectionStrategy.LENIENT)...

    request-json-validator

    request-json-validator request-json-validator使用分析json验证,但检查空白,如果无效则抛出节点错误。依存关系jsonValidator 验证使用请求比较和之后的json文件。 该函数检查必填字段,并引发json错误,并将json...

    Json库的使用总结

    1、 如何将List变成Json字符串 2 2、 如何将一个对象变成Json字符串 2 3、 如何将一个对象的Json字符串变成该对象实例 2 4、 如何将一个List字符串,变成List实例 2 ...同进提供所使用的json-lib-2.2.1-jdk15.jar

    form-data-json:将html表单转换为json对象或从json对象填充表单

    表单数据Json-往返JSON的表单输入值 零依赖性的跨浏览器库,可以轻松地从json对象获取或设置表单输入值。 它可以处理所有现有的输入类型,包括多维数组名称和文件输入。 它与本机相似,但具有一些优点:以多维对象的...

    sara-schema:包含SaraAlert JSON模式和验证器,可促进通过受监视者的更新

    莎拉图式包含json-schema ,该json-schema定义了受信任和不受信任的应用程序之间的数据结构通信。 有关json-schema更多信息,请访问 该存储库还包含一个Ruby gem,该宝石将模式公开给软件,以用于验证已发送或已接收...

    validation-lib

    相应地调整package.json的各个字段。 笑话 开玩笑测试设置为与npm test或yarn test一起npm test 。 持续集成 GitHub动作 默认情况下,添加了两个操作: main ,它安装带有缓存,棉绒,测试的deps,并在针对Node和...

    lib-Google_App_Script_LibKit-GAScripts

    带预设的日期格式。 通过 JSON 或 JSONP 的响应输出。 User_Utils: 获取登录用户并从批准的域中检索用户名。 Unit_Test_Utils: 用于分组和运行测试并发送到 Logger.log() 的简单单元测试实用程序。 配置管理器 ...

    pve2-php:通过 PVE2 API(和 PVE2-API-PHP-Client lib)进行 Proxmox VE 管理的 Web 界面; 使用 AngularJS

    要求 以下要求是外部依赖项。 您必须单独提供和维护它们。 ... 卷曲扩展 SSL 扩展 要连接的 Proxmox VE 2.0+... 其余的由文本区域提供服务,其中可以输入标准 JSON 以与未实现的端点进行手动交互。 无论如何,要使用它,

    odoo-rpc-client:Odoo RPC客户端库

    该项目提供类似于Odoo内部代码的接口,以对隐藏XML-RPC或JSON-RPC的Odoo对象执行操作。 特征Python 3.5+支持您可以在任何OpenERP / Odoo对象上调用任何公共方法,包括:读取,搜索,写入,取消链接等进行了大量速度...

    Vegeta:HTTP负载测试工具和库。 超过9000!-开源

    JSON格式使与动态生成目标的程序的集成更加容易。 每个目标在其各自的行中都是一个JSON对象。 方法和URL字段是必填字段。 如果存在,则body字段必须为base64编码。 生成的JSON模式详细定义了格式。

    coffee-script-precompiler

    使用以下一项或两项向kanso.json添加一个coffee-script字段:用于搜索 coffeescript 模块的文件夹列表和用于搜索 coffeescript 附件的文件夹列表。 "coffee-script" : { "modules" : [ "lib" , "tests" ] , ...

    engine-dependencies:根据您使用的Node版本安装npm依赖项

    只需在package.json的engineDependencies字段中定义您的依赖项: {" name " : " my-lib " ," version " : " 1.0.0 " ," engineDependencies " : {" node " : {" 0.12.x " : {" devDependencies " : {" semver " : ...

    多玩前端工作流grunt-workflow.zip

    grunt-workflow 是一个帮助前端开发工程师简化工作的工具,它的主要功能是: ... 在grunt-init lego时注意以下字段的填写,或者在初始化后的 package.json 中修改对应字段 标签:grunt

    sales-engine

    Lib 重构 [X] 5.1.1 异步表达式 [X] 5.1.2 列表 -> 自己的序列(映射)[X] 5.1.3 条件 -> 条件序列 [X] 5.2。 嵌套集成 -> SequenceModule [X] 5.3。 新 SE 的功能 [X] -> 获取 [X] -> 插值 [X] -> 字段 [X] 5.4。 ...

    微信小程序-微信小程序里的listview,内置了上拉刷新下拉加载更多的功能

    3.根据你的网络请求的字段特点修改netUtil和app.js中的相应字段. 4.页面的js引入: var lvUtil=require("../../utils/lvUtil.js"); 只需要在页面的onLoad方法中调用方法:lvUtil.initLv. 其他下拉刷新,上拉加载更多的...

    React-3G:基于React开发的基本组件库

    React-3G —— 基于React开发的基本组件库开发文档项目目录结构 React-3G ...本地开发NPM摘要开发前必须弄清楚以下再进行本地开发NPM包了解package.json文件各个字段的意义,重点版本号、Scripts项目本地运行当前是

Global site tag (gtag.js) - Google Analytics