分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 技术分享

FastJson处理数据出现错误 com.alibaba.fastjson.JSONException: syntax error, expect {, actual error, pos 1

发布时间:2023-09-06 01:48责任编辑:林大明关键词:jsjson

用ajax发送JSON数据,其中数据类型为List,出现com.alibaba.fastjson.JSONException: syntax error, expect {, actual error, pos 1这种类型的错误

一般是数据格式问题

首先我们必须清楚JSON的数据格式

JSON中,对象用{  }包围,映射用“:”表示,集合或数组用[  ]包围

比如一个Java类的JSON格式为

{ ???????名称1:值1,名称2:值2 } ???????

一个List的JSON格式为

[ ?????????????????{名称1:值,名称2:值2},{名称1:值,名称2:值2} ] ?????????????????

在这里需要注意一个问题,在Map中使用“=”连接键值,而不是“:”,跟List是不一样的

而且,必须在我们需要转化的Java类中重写toString方法,否则会自动调用默认的toString()方法,只能获取到这样一个字符串:“类名+@+hashCode”,而无法拿到内部数据

用eclipse自动生成的的toString()方法也是不符合JSON的格式要求的

自动生成的格式

public String toString() { ??????????????????????????????????????????????????????????????????????????????????????????????   return "Test [itemlist=" + itemlist + ", address=" + address + ", total=" + total + "]";} 

必须修改为该格式

public String toString() {                                  return "{\"itemlist\":\"" + itemlist + "\", \"address\":\"" + address + "\", \"total\":\"" + total + "\"}"; } 

我们就能在后台用 JSON.parseArray 方法获取到我们需要的List了



FastJson处理数据出现错误 com.alibaba.fastjson.JSONException: syntax error, expect {, actual error, pos 1

原文地址:https://www.cnblogs.com/JP6907/p/8732787.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved