com.aliyun.openservices.shade.com.alibaba.fastjson.JSONException: exepct '[', but {, pos 1, line 1, column 2

摘要:
错误报告的原因:您放置了一个非List对象,但希望从packagetest中取出List对象;导入java.text。SimpleDateFormat;导入java.util。阵列列表;导入java.util。日期导入java.util。列表importcom.alibaba.fastjson。JSON;导入com.alibaba.fastj

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

com.aliyun.openservices.shade.com.alibaba.fastjson.JSONException: exepct '[', but {, pos 1, line 1, column 2第1张

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;
    }
}

免责声明:文章转载自《com.aliyun.openservices.shade.com.alibaba.fastjson.JSONException: exepct '[', but {, pos 1, line 1, column 2》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇svn常见问题汇总windows server2012 nVME和网卡等驱动和不识别RAID10问题下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

【巷子】---json-server---基本使用

一、前后端并行开发的痛点 前端需要等待后端开发完接口以后 再根据接口来完成前端的业务逻辑 二、解决方法 在本地模拟后端接口用来测试前端效果 这种做法称之为构建前端Mock 三、json-server的基本使用 (1)、全局安装 cnpm install json-server -g (2)、准备json文件 (data.json) json-serv...

Python遍历List集合四种方法

这篇文章主要介绍了Python 列表(List) 的四种遍历方法实例 详解的相关资料,需要的朋友可以参考下 分别是:直接遍历对象 通过索引遍历 通过enumerate方法 通过iter方法。 使用Python遍历List四种方法代码如下: def text2(self): li = ['a', 'b', 'c', 'd', 'e'...

listview 设置数组为空

listview.setEmpty(View view); 使用listView或者gridView时,当列表为空时,有时需要显示一个特殊的empty view来提示用户,今日对这个方法进行一下小结,书写的方式有三种: 1.一般情况下,继承ListActivity,只要 <ListView android:id="@id/android:list"...

【自制工具类】Java删除字符串中的元素

这几天做项目需要把多个item的id存储到一个字符串中,保存进数据库。保存倒是简单,只需要判断之前是否为空,如果空就直接添加,非空则拼接个“,” 所以这个字符串的数据结构是这样的 String str = "a,b,c,d"; 保存简单了,那么删除指定元素呢?这就有点麻烦了,取网上查了好久,不是js的实现就是其他语言的,所以决心自己写个工具类,看了一上午,...

ibatis 批量插入

  ibatis 批量插入 CreationTime--2018年7月2日10点21分 Author:Marydon 1.说明   基于oracle的sql语句 2.主键id有默认值,比如:sys_guid()   id有默认值的情况下,插入的时候,不再声明该字段,当插入一条数据的时候,oracle会自动生成id。 <insert id="inse...

C#如何使用SqlCacheDependency

1、数据库依赖类SqlCacheDependency 数据库缓存依赖主要解决的是当数据库的内容发生改变时,如何及时通知缓存,并更新缓存中的数据的问题。 语法定义: SqlCacheDependency类主要的构造函数如下: public SqlCacheDependency(string database,string table) 使用之前需要先配置we...