为什么输入毫秒就出错

为什么输入毫秒就出错

package com.iii;

import java.util.Date;
import com.alibaba.fastjson.annotation.JSONField;

public class Jsw {
@JSONField(name="u")
private String www;
@JSONField(serialize=false)
private Float j;
@JSONField(format="yyyy-MM-dd HH:mm:ss SSS")
private Date Ha;
public String getWww() {
	return www;
}
public void setWww(String www) {
	this.www = www;
}
public Float getJ() {
	return j;
}
public void setJ(Float j) {
	this.j = j;
}
public Date getHa() {
	return Ha;
}
public void setHa(Date ha) {
	Ha = ha;
}

}
package com.iii;

import java.util.Calendar;

import com.alibaba.fastjson.JSON;

public class J12 {

	public static void main(String[] args) {
		Jsw s=new Jsw();
		Calendar c=Calendar.getInstance();
		c.set(2019,0,9,2,2,26);
		s.setHa(c.getTime());
		s.setJ(8f);
		s.setWww("kwk");
		String json=JSON.toJSONString(s);
		System.out.println(json);
		Jsw w=JSON.parseObject(json,Jsw.class);
		System.out.println(w.getHa());
	}

}

只要有毫秒就运行出错,不知为何

正在回答

登陆购买课程后可参与讨论,去登陆

3回答

同学你好。转换为json后,这里的变量名是小写的ha,将Jsw类中的ha全部改为小写就好:

http://img1.sycdn.imooc.com//climg/5d65211b0001dc2209430454.jpg

import java.util.Date;
import com.alibaba.fastjson.annotation.JSONField;
 
public class Jsw {
@JSONField(name="u")
private String www;
@JSONField(serialize=false)
private Float j;
@JSONField(format="yyyy-MM-dd HH:mm:ss SSS")
private Date ha;
public String getWww() {
    return www;
}
public void setWww(String www) {
    this.www = www;
}
public Float getJ() {
    return j;
}
public void setJ(Float j) {
    this.j = j;
}
public Date getHa() {
    return ha;
}
public void setHa(Date ha) {
    this.ha = ha;
}
 
}

如果解答了同学的疑问,望采纳~

祝学习愉快~

  • 慕UI5285863 提问者 #1
    还有个小问题,c.set()是不是不能设置毫秒的,虽然JSON的格式中写了毫秒
    2019-08-27 20:39:23
  • 好帮手慕小班 回复 提问者 慕UI5285863 #2
    同学你好,1、Calendar.getInstance()时候,会给Calendar赋值为当前时间的毫秒值,调用set方法会根据参数对年、月、日、时、分、秒对应的值进行替换。然而无法对毫秒值进行替换,所以毫秒值是创建Calendar对象时的毫秒值。2、Calendar类获取当前时间的毫秒-->Calendar cal = Calendar.getInstance(); int mm = cal.get(Calendar.MILLISECOND); 获取到当前时间的毫秒。 综上所述,同学的说法是正确的,Calendar类中有毫秒,但是set方法并不能设置毫秒。很棒呐,继续加油。如果我的回答解决了你的疑惑,请采纳,祝学习愉快~
    2019-08-28 10:00:59
提问者 慕UI5285863 2019-08-27 18:48:43
好帮手慕小班 2019-08-27 18:37:29

同学你好,这里老师复制贴出代码在项目中并没有直接出错,这里同学说只要有毫秒运行就出错,建议同学将报错信息截图贴出,以及html页面内容贴出,便于我们的复制运行,查找问题。注意代码不要贴在回复中,会失去代码格式。

如果我的回答解决了你的疑惑,请采纳,祝学习愉快~

  • 提问者 慕UI5285863 #1
    截图已贴出,老师请看
    2019-08-27 18:50:23
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师