- 浏览: 922861 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (322)
- Hibernate研究&源码 (27)
- Server (10)
- Coder碎语 (64)
- EnglishMulling (11)
- About XML (1)
- persistence (12)
- Core Java & OO (23)
- Java EE (6)
- JavaScript/JSON/Ajax/ext... (22)
- 我的读书笔记 (16)
- Source Codes Study (29)
- workFlow/jBPM (22)
- OFBiz: Open For Business (1)
- 项目积累 (21)
- srcStudy_acegi (1)
- Cache/Ehcache... (9)
- Java Test/JUnit.. (7)
- maven/ant (2)
- 设计模式 (1)
- SOA/cxf/ws-security (2)
- Android (4)
- 云计算/Hadoop (2)
- 加密/签名 (1)
- 正则表达式 (1)
- htmlparser (1)
- 操作系统 (5)
- DB (1)
最新评论
-
天使建站:
这里这篇文章更详细 还有完整的实例演示:js跳出循环 ...
jQuery中each的break和continue -
heshifk:
刚刚我也遇到同样的问题,然后就在纠结为什么不能直接使用brea ...
jQuery中each的break和continue -
masuweng:
不错写的.
集万千宠爱于一身的SessionImpl:get研究(四): Hibernate源码研究碎得(8) -
muzi131313:
这个老是忘,做一下笔记还是挺好的
jQuery中each的break和continue -
lg068:
data = data.replace("\n&qu ...
项目小经验: eval与回车符
假设有一个Person类,
现在客户端那边传来如下的json规则的字符串String personJson = "{birthday:\"06/28/2008 17:00:00\"}",要用
JSONOjbect.toBean(JSONObject.from(personJson ),Person.class)方法来获得相应的Person实例时就出问题了,报错如下:
注意这里虽然有"Person's brithday: Thu Jun 19 13:57:39 CST 2008 "这样输出,但它的时间值与输入不符.
这个怎么解决?
以下是我做实验用的Java代码:
=======================
public class Person{ private java.util.Date birthday; // settor and gettor methods..... }
现在客户端那边传来如下的json规则的字符串String personJson = "{birthday:\"06/28/2008 17:00:00\"}",要用
JSONOjbect.toBean(JSONObject.from(personJson ),Person.class)方法来获得相应的Person实例时就出问题了,报错如下:
[align=center]2008-6-19 13:57:39 net.sf.json.JSONObject morphPropertyValue 警告: Can't transform property 'birthday' from java.lang.String into java.util.Date. Will register a default Morpher 2008-6-19 13:57:39 net.sf.ezmorph.bean.BeanMorpher morph 信息: Property 'java.util.Date.class' has no write method. SKIPPED. 2008-6-19 13:57:39 net.sf.ezmorph.bean.BeanMorpher morph 警告: Property 'java.lang.String.date' does not exist. SKIPPED. 2008-6-19 13:57:39 net.sf.ezmorph.bean.BeanMorpher morph 信息: Property 'java.util.Date.day' has no write method. SKIPPED. 2008-6-19 13:57:39 net.sf.ezmorph.bean.BeanMorpher morph 警告: Property 'java.lang.String.hours' does not exist. SKIPPED. 2008-6-19 13:57:39 net.sf.ezmorph.bean.BeanMorpher morph 警告: Property 'java.lang.String.minutes' does not exist. SKIPPED. 2008-6-19 13:57:39 net.sf.ezmorph.bean.BeanMorpher morph 警告: Property 'java.lang.String.month' does not exist. SKIPPED. 2008-6-19 13:57:39 net.sf.ezmorph.bean.BeanMorpher morph 警告: Property 'java.lang.String.seconds' does not exist. SKIPPED. 2008-6-19 13:57:39 net.sf.ezmorph.bean.BeanMorpher morph 警告: Property 'java.lang.String.time' does not exist. SKIPPED. 2008-6-19 13:57:39 net.sf.ezmorph.bean.BeanMorpher morph 信息: Property 'java.util.Date.timezoneOffset' has no write method. SKIPPED. 2008-6-19 13:57:39 net.sf.ezmorph.bean.BeanMorpher morph 警告: Property 'java.lang.String.year' does not exist. SKIPPED. Person's brithday: Thu Jun 19 13:57:39 CST 2008 [/align]
注意这里虽然有"Person's brithday: Thu Jun 19 13:57:39 CST 2008 "这样输出,但它的时间值与输入不符.
这个怎么解决?
以下是我做实验用的Java代码:
=======================
package json; import java.util.Date; import net.sf.json.JSONObject; public class Person { private Date birthday; public Date getBirthday() { return birthday; } public void setBirthday(Date birthday) { this.birthday = birthday; } public static Person getInstance(String jsonVale) { return (Person)JSONObject.toBean(JSONObject.fromObject(jsonVale),Person.class); } public static void main(String[] args) { String personJson = "{birthday:\"06/28/2008 17:00:00\"}"; Person p = getInstance(personJson); System.out.println("Person's brithday: "+ p.getBirthday()); } } ==== 所需Jar包见附件.
- jarsNeeded.rar (1.2 MB)
- 下载次数: 184
评论
2 楼
rmn190
2008-08-06
<pre name='code' class='java'>class MapToDateMorpher extends AbstractObjectMorpher { //https://sourceforge.net/forum/forum.php?thread_id=1861466&forum_id=587134
private static String DATE_TIME_FORMAT = "MM/dd/yyyy HH:mm:ss";
static SimpleDateFormat dateTimeFormat = new SimpleDateFormat(DATE_TIME_FORMAT);
static TimeZone pstTimeZone = TimeZone.getTimeZone("PST");
public Object morph(Object value) {
if(value instanceof String) {
String s = (String)value;
return convertStringToTimestamp(s);
}
return null;
}
public Class morphsTo() {
return Date.class;
}
public boolean supports(Class clazz) {
// return clazz.equals(String.class);
return String.class.isAssignableFrom( clazz );
}
private Date convertStringToTimestamp(String input){
if(!StringUtils.isEmpty(input)){
try {
return dateTimeFormat.parse(input);
} catch (ParseException e) {
}
}
return null;
}
}</pre>
private static String DATE_TIME_FORMAT = "MM/dd/yyyy HH:mm:ss";
static SimpleDateFormat dateTimeFormat = new SimpleDateFormat(DATE_TIME_FORMAT);
static TimeZone pstTimeZone = TimeZone.getTimeZone("PST");
public Object morph(Object value) {
if(value instanceof String) {
String s = (String)value;
return convertStringToTimestamp(s);
}
return null;
}
public Class morphsTo() {
return Date.class;
}
public boolean supports(Class clazz) {
// return clazz.equals(String.class);
return String.class.isAssignableFrom( clazz );
}
private Date convertStringToTimestamp(String input){
if(!StringUtils.isEmpty(input)){
try {
return dateTimeFormat.parse(input);
} catch (ParseException e) {
}
}
return null;
}
}</pre>
1 楼
ham
2008-06-19
这是因为你在json中的字符串类型的"06/28/2008 17:00:00"
在java中没有办法直接转换成为Date类型的数据.因而报出了异常
你需要通过JsonValueProcessor类,进行日期的转换格式.
解决方法可以参见:
[url]http://bolingsky.blog.sohu.com/74165282.html [/url]
里面有详细描述.
在java中没有办法直接转换成为Date类型的数据.因而报出了异常
你需要通过JsonValueProcessor类,进行日期的转换格式.
解决方法可以参见:
[url]http://bolingsky.blog.sohu.com/74165282.html [/url]
里面有详细描述.
发表评论
-
利用jQuery来反选Select
2010-11-01 14:36 3711以这样的代码为例, <selec ... -
jQuery中each的break和continue
2010-10-22 15:54 30678each实质上是一个for循环,那么能不能像 ... -
套在一个Table中的Div不能隐藏
2010-10-13 17:59 3921直接用图说话: 操作前: 操作 ... -
previousElementSibling还是previousSibling?
2010-09-10 17:54 7008FireFox(版本号:3.5.11)中不支持Ja ... -
隐藏Table中套的Table
2010-09-10 17:10 1286如图所示: 点了红框中的加号后,变成: 也 ... -
自己实现Table增加Row时的几个心得记录
2010-09-10 16:42 1486自己用jQuery搞了个Table增加Row的东东 ... -
由实现JavaScript中的Map想到的
2010-09-10 16:13 1529项目中要用到JavaScr ... -
jQuery跟prototype关于“$”的冲突解决总结
2010-07-21 09:01 1337问题描述: jQuery跟其它的JavaScri ... -
JavaScript与displayTag标签的合作 -- 操作表头(二)
2009-12-10 16:46 1586这一版是对JavaScript与displayTag标签的合作 ... -
用JavaScript操作displayTag表头操作
2009-03-22 09:13 2570直接了当一些, displayTag有个缺点:用它生 ... -
JSP中Radio button使用时的一点经验
2008-12-18 21:03 4816就一张图片,图片上包含了所有信息: -
JavaScript与displayTag标签的合作 -- 操作表头(续)
2008-10-24 12:21 1692上一篇里写了定位到目标表头与onmouseover的 ... -
JavaScript与displayTag标签的合作 -- 操作表头.
2008-10-23 19:04 4001这段时间在用displayTag, 它有很多好 ... -
自写的一个JavaScript小小工具
2008-07-18 10:03 1851由于项目需要,写了一个JavaScript的工具,专门来 ... -
对浏览器中的context menu的认识.
2008-06-22 18:02 2315对浏览器中的context menu的认识. 一 ... -
与JSON的第一次亲密接触
2008-06-21 14:58 6790字符串型的Date转化为JavaBean的问题终于解决了 ... -
JavaScript中实现工厂模式.
2008-06-17 08:42 3275JavaScript中实现工厂模式. 第一次亲 ... -
JSON,Ajax,Spring组合使用时的一个问题.
2008-03-27 13:32 3139工作中用到JSON,可当它与Ajax结合使用时有一个槛过不去了 ... -
You Used JavaScript to Write WHAT?
2008-03-26 10:47 1433You Used JavaScript to Write WH ... -
在使用JSON时的一点麻烦事.
2008-03-26 10:20 7578在使用JSON时的一点麻烦 ...
相关推荐
在JSON中,字符串默认使用Unicode编码,但在某些场景下,特别是与Python交互时,可能会遇到编码转换的问题,特别是在处理中文字符时。 在Python 2.x中,当处理包含非ASCII字符的字符串时,如果不指定编码方式,...
`json-c`就是这样一个专门用于C语言的JSON解析库,它提供了对JSON数据的读取、创建、修改和序列化等功能,使得C程序员可以方便地与JSON格式进行交互。 `json-c`库的核心特性包括: 1. **解析和生成JSON**:`json-c...
5. **错误处理**:在处理JSON时,可能会遇到语法错误、编码问题或数据不匹配等问题。Delphi提供了异常处理机制,可以捕获并处理这些错误。 6. **性能优化**:对于大量数据,优化JSON序列化和解析的性能至关重要。...
它基于JavaScript的一个子集,设计简洁且易于人阅读和编写,同时也易于机器解析和生成。在这个“JSON库使用DEMO”中,我们将探讨如何在编程中利用JSON库进行数据的序列化和反序列化,以及相关的操作。 1. **JSON的...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,...例如,如果你正在开发一个Web应用,你可以先将用户提交的JSON数据转换为JSON Schema,然后用它来验证后续的数据输入,防止因数据不合规导致的问题。
- **Newtonsoft.Json.dll**:这是一个流行的.NET JSON库,用于序列化和反序列化JSON,它可能是JsonView内部使用的库,以便于解析和处理JSON数据。 - **JsonViewer.dll**:这可能是JsonView的核心组件,包含了JSON...
在处理JSON时,日志记录是非常重要的,用于追踪错误和调试问题,而Commons Logging则提供了一个统一的日志接口,方便切换不同日志框架。 这六个jar文件组合在一起,构成了一个完整的JSON处理环境,特别适合基于JDK...
在这个场景中,"工具类,根据给定长度,使用递归的方式拆分一个json成为多个json组成的列表"就是解决此类问题的一个方法。 首先,我们要理解这个工具类的工作原理。递归是一种在函数内部调用自身的技术,通常用于...
4. `json-lib-2.4-jdk15.jar`:这是JSON Lib库,一个支持多种Java环境的JSON处理器。它可以将Java对象转换为JSON表示,并将JSON字符串反序列化为Java对象。JSON Lib集成了多个第三方库,如上述的Commons Collections...
5. **错误处理**:在解析过程中遇到错误时,`cpp-json11`会抛出一个`json11::Json::Error`异常,包含了错误的位置和原因。 6. **灵活性**:`cpp-json11`允许直接从`std::istream`或`std::string`读取JSON,也可以...
标题“JSON_Trans.rar_LABVIEW转换JSON_json Labview_labivew json_labview j”表明这是一个关于如何在LabVIEW中实现JSON转换的实践教程或示例。 描述中提到,“LabVIEW建立JSON通讯示例,通过建立簇,将数据转换成...
标题中的“一个使用json生成phpclass代码的工具”指的是一个特定的软件或脚本,它能够根据JSON(JavaScript Object Notation)数据格式自动生成PHP类(Class)代码。JSON是一种轻量级的数据交换格式,易于人阅读和...
3. **验证和错误检查**:在输入JSON数据时,编辑器会实时检查语法,确保JSON的正确性,避免因格式错误导致的问题。 4. **拖放操作**:用户可以通过拖放方式在树形视图中添加、移动或删除键值对,提高编辑效率。 5....
在实际解决乱码问题的过程中,如果发现使用Base64加密传输中文数据还会出现问题,可以改用URL编码的方式来传输数据,即使用JavaScript的`encodeURI`函数对数据进行两次URL编码,后端接收到后进行一次URL解码即可。...
描述中提到了一个实例,也就是使用Jackson库将JSON字符串转换为Java对象(Map),然后使用org.json库读取JSON数组。实例中说明了遇到的困难,即在使用Map读取第一级数据之后,尝试读取数组中的特定值时遇到了问题,...
`json.js`文件可能是JavaScript中处理JSON的一个工具库,它提供了类似的功能,但用在客户端,帮助解析服务器返回的JSON字符串。例如,`eval()`或`JSON.parse()`函数可以用来解析JSON字符串为JavaScript对象: ```...
在JavaScript中,这样的库通常提供API接口,允许开发者传入两个JSON对象,然后返回一个表示差异的JSON对象或数组。 使用这类插件的一般步骤包括: 1. 导入jsondiff库到项目中。 2. 解析或创建需要比较的JSON对象。...
这为那些仍在使用Delphi 7的开发者提供了一个可靠的解决方案,让他们无需升级到更高版本就能处理JSON数据。 在使用"Delphi_JSON"控件时,开发者可以期待以下功能: 1. 解析JSON:控件应提供一个方法,将JSON格式的...
JSON Lib是一个广泛使用的Java JSON处理库,它提供了丰富的功能,包括: 1. **JSON解析和生成**:JSON Lib可以将JSON字符串解析成JSON对象,反之亦然。这对于与服务器进行数据交互非常有用,比如AJAX请求。 2. **...
然而,如果你需要确保在所有浏览器中都能正确处理JSON,那么包含json2.js库是一个安全的选择,尤其是当你的目标用户可能还在使用较旧的浏览器时。 在提供的压缩包中,有两个文件:`json2-debug.js`和`json2.js`。`...