如: List<User> list = new ArrayList<User>();
while (rs.next()) {
User user = new User();
user.setId(rs.getInt(1));
user.setName(rs.getString(2));
user.setSex(rs.getString(3));
user.setEmail(rs.getString(4));
user.setBornDate(rs.getDate(5));
list.add(user);   用json解析此list时出错。

解决方案 »

  1.   

    需要导入几个jar,然后String json = JSONArray.fromObject(list).toString();网上有。。
      

  2.   

     使用JsonConfig类处理:
    JsonConfig jsonConfig = new JsonConfig();
    jsonConfig.registerJsonValueProcessor(Date.class,
              new DateJsonValueProcessor("yyyy-mm-dd"));
    JSONObject json = JSONObject.fromObject(o, jsonConfig);
    顺便把DateJsonValueProcessor工具类贴处来:
    import java.text.DateFormat;
    import java.text.SimpleDateFormat;
    import java.util.Date;import net.sf.json.JsonConfig;
    import net.sf.json.processors.JsonValueProcessor;public class DateJsonValueProcessor implements JsonValueProcessor {
    public static final String Default_DATE_PATTERN ="yyyy-MM-dd";
    private DateFormat dateFormat ;
    public DateJsonValueProcessor(String datePattern){
    try{
    dateFormat  = new SimpleDateFormat(datePattern);

    }catch(Exception e ){
    dateFormat = new SimpleDateFormat(Default_DATE_PATTERN);

    }

    }
    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 dateFormat.format((Date)value);

    }
    }
      

  3.   

    json只是一种数据格式 错误代码也没有 也许就是楼上说的少jar包
      

  4.   

    json只是一种数据格式 错误代码也没有 也许就是楼上说的少jar包
      

  5.   

     使用JsonConfig类处理:
    JsonConfig jsonConfig = new JsonConfig();
    jsonConfig.registerJsonValueProcessor(Date.class,
              new DateJsonValueProcessor("yyyy-mm-dd"));
    JSONObject json = JSONObject.fromObject(o, jsonConfig);
    顺便把DateJsonValueProcessor工具类贴处来:
    import java.text.DateFormat;
    import java.text.SimpleDateFormat;
    import java.util.Date;import net.sf.json.JsonConfig;
    import net.sf.json.processors.JsonValueProcessor;public class DateJsonValueProcessor implements JsonValueProcessor {
    public static final String Default_DATE_PATTERN ="yyyy-MM-dd";
    private DateFormat dateFormat ;
    public DateJsonValueProcessor(String datePattern){
    try{
    dateFormat  = new SimpleDateFormat(datePattern);

    }catch(Exception e ){
    dateFormat = new SimpleDateFormat(Default_DATE_PATTERN);

    }

    }
    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 dateFormat.format((Date)value);

    }
    }
      

  6.   

     使用JsonConfig类处理:
    JsonConfig jsonConfig = new JsonConfig();
    jsonConfig.registerJsonValueProcessor(Date.class,
              new DateJsonValueProcessor("yyyy-mm-dd"));
    JSONObject json = JSONObject.fromObject(o, jsonConfig);
    顺便把DateJsonValueProcessor工具类贴处来:
    import java.text.DateFormat;
    import java.text.SimpleDateFormat;
    import java.util.Date;import net.sf.json.JsonConfig;
    import net.sf.json.processors.JsonValueProcessor;public class DateJsonValueProcessor implements JsonValueProcessor {
    public static final String Default_DATE_PATTERN ="yyyy-MM-dd";
    private DateFormat dateFormat ;
    public DateJsonValueProcessor(String datePattern){
    try{
    dateFormat  = new SimpleDateFormat(datePattern);

    }catch(Exception e ){
    dateFormat = new SimpleDateFormat(Default_DATE_PATTERN);

    }

    }
    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 dateFormat.format((Date)value);

    }
    }
      

  7.   

     使用JsonConfig类处理:
    JsonConfig jsonConfig = new JsonConfig();
    jsonConfig.registerJsonValueProcessor(Date.class,
              new DateJsonValueProcessor("yyyy-mm-dd"));
    JSONObject json = JSONObject.fromObject(o, jsonConfig);
    顺便把DateJsonValueProcessor工具类贴处来:
    import java.text.DateFormat;
    import java.text.SimpleDateFormat;
    import java.util.Date;import net.sf.json.JsonConfig;
    import net.sf.json.processors.JsonValueProcessor;public class DateJsonValueProcessor implements JsonValueProcessor {
    public static final String Default_DATE_PATTERN ="yyyy-MM-dd";
    private DateFormat dateFormat ;
    public DateJsonValueProcessor(String datePattern){
    try{
    dateFormat  = new SimpleDateFormat(datePattern);

    }catch(Exception e ){
    dateFormat = new SimpleDateFormat(Default_DATE_PATTERN);

    }

    }
    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 dateFormat.format((Date)value);

    }
    }
      

  8.   

    user.setBornDate(rs.getDate(5));
    这个里面存放的是java.sql.Date,而不是java.util.Date
    注意了
      

  9.   

     就是sql类型的日期啊、、