zoukankan      html  css  js  c++  java
  • com.aliyun.openservices.shade.com.alibaba.fastjson.JSONException: exepct '[', but {, pos 1, line 1, column 2

    报错原因:你放的是一个非List的对象 却想取一个List对象出来

    package test;
    
    import java.text.SimpleDateFormat;
    import java.util.ArrayList;
    import java.util.Date;
    import java.util.List;
    
    import com.alibaba.fastjson.JSON;
    import com.alibaba.fastjson.JSONArray;
    
    public class VarTest {
    
        public static void main(String[] args) {
    
            LiuJieTestObj obj = new LiuJieTestObj();
            obj.setId(111L);
            Date date1 = new Date(2019, 7, 23);
            SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            df.format(date1);
            obj.setTestDate(date1);
            // 错误示范1 报错:Exception in thread "main" com.alibaba.fastjson.JSONException: expect '[', but {, pos 1, line1,column 2
            String str1 = JSON.toJSONString(obj);// 放进去的不是List
            System.out.println("str1:"+str1);//str1:{"id":111,"testDate":61524633600000}
            List<LiuJieTestObj> objList1 = JSON.parseArray(str1, LiuJieTestObj.class);// 取一个List
    
            // 错误示范2 报错:Exception in thread "main" com.alibaba.fastjson.JSONException: expect '[', but {, pos 1, line1,column 2
            String str2 = JSONArray.toJSONString(obj);// 放进去的是非List的对象
            System.out.println("str2:"+str2);//str2:{"id":111,"testDate":61524633600000}
            List<LiuJieTestObj> objList2 = JSON.parseArray(str2, LiuJieTestObj.class);// 取一个List
    
            // 正确示范3
            List<LiuJieTestObj> list = new ArrayList<>();
            list.add(obj);
            String str3 = JSON.toJSONString(list);// 放进去的是List
            System.out.println("str3:"+str3);//str3:[{"id":111,"testDate":61524633600000}]
            List<LiuJieTestObj> objList3 = JSON.parseArray(str3, LiuJieTestObj.class);// 取一个List
    
        }
    }
    package test;
    
    import java.util.Date;
    
    public class LiuJieTestObj {
        private Long id ;
        private Date testDate;
        public Long getId() {
            return id;
        }
        public void setId(Long id) {
            this.id = id;
        }
        public Date getTestDate() {
            return testDate;
        }
        public void setTestDate(Date testDate) {
            this.testDate = testDate;
        }
    }
  • 相关阅读:
    [转]几个开源的.net界面控件
    电脑上设置对眼睛友好的绿豆沙色
    [转] C# 绘制报表,使用Graphics.DrawString 方法
    Excel 绘制图表,如何显示横轴的数据范围
    [转] C#中绘制矢量图形
    Chapter 3 Protecting the Data(3):创建和使用数据库角色
    续x奇数倍(n+2*x)暴力算法是冠军的算法结合数量
    新秀学习SSH(十四)——Spring集装箱AOP其原理——动态代理
    中国是大数据的人工智能的发源地
    采用shell脚本统计代码的行数
  • 原文地址:https://www.cnblogs.com/j-liu3323/p/11579611.html
Copyright © 2011-2022 走看看