zoukankan      html  css  js  c++  java
  • json数据转换异常:net.sf.json.JSONException: java.lang.reflect.InvocationTargetException

     1 //存储Product对象的集合是从,Product是从mysql数据库中查询并添加的
     2 ArrayList<Product> list = new ArrayList<Product>();
    3 4 //设置响应对象编码 5 response.setCharacterEncoding("utf-8"); 6 response.setContentType("text/html;charset=utf-8"); 7 8 //将list集合转换成json格式 9 JSONArray json = JSONArray.fromObject(list); 10 11 //将json写出浏览器 12 response.getWriter().print(json);


    Product类

    public class Product implements Serializable{
    
    	private static final long serialVersionUID = -992811686857962266L;
    	
    	private String pid; //商品编号
    	private String pname; //商品名称
    	private Double market_price; //市场价格
    	private Double shop_price; //商城价格
    	
    	private String pimage; //商品图片
    	private Date pdate;  //上架日期
    	private Integer is_hot = 0; //是否热门商品, 1表示热门, 0表示不热门
    	private String pdesc; //商品描述
    	
    	private Integer pflag; //表示是否下架, 1表示下架, 0表示不下架
    	private Category category; //商品所属的分类对象
    	
    	public Product() {}
    	
    	public Product(String pid, String pname, Double market_price, Double shop_price, String pimage, Date pdate,
    			Integer is_hot, String pdesc, Integer pflag, Category category) {
    		this.pid = pid;
    		this.pname = pname;
    		this.market_price = market_price;
    		this.shop_price = shop_price;
    		this.pimage = pimage;
    		this.pdate = pdate;
    		this.is_hot = is_hot;
    		this.pdesc = pdesc;
    		this.pflag = pflag;
    		this.category = category;
    	}
    
    	public String getPid() {
    		return pid;
    	}
    
    	public void setPid(String pid) {
    		this.pid = pid;
    	}
    
    	public String getPname() {
    		return pname;
    	}
    
    	public void setPname(String pname) {
    		this.pname = pname;
    	}
    
    	public Double getMarket_price() {
    		return market_price;
    	}
    
    	public void setMarket_price(Double market_price) {
    		this.market_price = market_price;
    	}
    
    	public Double getShop_price() {
    		return shop_price;
    	}
    
    	public void setShop_price(Double shop_price) {
    		this.shop_price = shop_price;
    	}
    
    	public String getPimage() {
    		return pimage;
    	}
    
    	public void setPimage(String pimage) {
    		this.pimage = pimage;
    	}
    
    	public Date getPdate() {
    		return pdate;
    	}
    
    	public void setPdate(Date pdate) {
    		this.pdate = pdate;
    	}
    
    	public Integer getIs_hot() {
    		return is_hot;
    	}
    
    	public void setIs_hot(Integer is_hot) {
    		this.is_hot = is_hot;
    	}
    
    	public String getPdesc() {
    		return pdesc;
    	}
    
    	public void setPdesc(String pdesc) {
    		this.pdesc = pdesc;
    	}
    
    	public Integer getPflag() {
    		return pflag;
    	}
    
    	public void setPflag(Integer pflag) {
    		this.pflag = pflag;
    	}
    
    	public Category getCategory() {
    		return category;
    	}
    
    	public void setCategory(Category category) {
    		this.category = category;
    	}
    } 

    在将list转换成JSON格式的时候,从数据库里读出来的是java.sql.Date赋值给了java.util.Date,转化成JSONArray时出错

    就会出现 et.sf.json.JSONException: java.lang.reflect.InvocationTargetException 异常

  • 相关阅读:
    对象在hibernate中的状态
    Hibernate核心对象
    Hibernate入门步骤及概念
    Hibernate事务、缓存和连接池
    ORACLE数据库入门再在屋里坐会
    CREATE FUNCTION 的用法
    远程操作win的命令窗口
    获取谷歌浏览器cookie的两种方法
    使用selenium.webdriver.common.desired_capabilities获取浏览器日志
    Appium自动测试框架常用API
  • 原文地址:https://www.cnblogs.com/guo-rong/p/7535000.html
Copyright © 2011-2022 走看看