如何解决com.alibaba.fastjson.JSONException: expect ‘[’, but string, pos 4148

后台返回的数据是Object类型的数据,需要把它转换成List< entity > 类型的

起初我是想通过JSON.toJSONString( )把Object 转化为Json字符串,然后在通过
JSONObject.parseArray()转化成List< entity >

 List<EpmsMaterialsInfo> materialsInfos2=JSONObject.parseArray(str, EpmsMaterialsInfo.class);

然后报错

com.alibaba.fastjson.JSONException: expect '[', but string, pos 4148, line 1, column 4149"[{\"id\":null,\"createBy\":null,\"createTime\":null,\"updateBy\":null,\"updateTime\":null,\"sysOrgCode\":null,\"biz

后来看了下文档发现JSON.toJSONString则是将对象转化为Json字符串

JSON数据中,对象是用{  }包围,集合或数组用[  ]包围
比如一个Java类的JSON格式为
{  名称1:值1,名称2:值2 }        
一个List的JSON格式为
[ {名称1:值,名称2:值2},{名称1:值,名称2:值2} ]                  

解决方法
使用String进行了强制转换
String str= (String) Object类型的数据
List materialsInfos2=JSONObject.parseArray(str, EpmsMaterialsInfo.class);

GitHub 加速计划 / fastj / fastjson
3
1
下载
FASTJSON 2.0.x has been released, faster and more secure, recommend you upgrade.
最近提交(Master分支:3 个月前 )
c942c834 - 2 年前
5bc4709b - 2 年前
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐