com.alibaba.fastjson.JSONException: syntax error, expect {, actual error, pos 1
json
适用于现代 C++ 的 JSON。
项目地址:https://gitcode.com/gh_mirrors/js/json
免费下载资源
·
海豚精灵:https://www.whhtjl.com;优课GO:https://mgo.whhtjl.com
用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 "WebsiteImages [id=" + id + ", imageUrl=" + imageUrl
+ ", linkAddress=" + linkAddress + ", title=" + title
+ ", typeId=" + typeId + ", order=" + order + ", describe="
+ describe + ", platformId=" + platformId
+ ", parentSubjectId=" + parentSubjectId + ", addTime="
+ addTime + ", updateTime=" + updateTime + ", number=" + number
+ "]";
}
必须修改为该格式
public String toString() {
return "{\"id\":\"" + id + "\", \"imageUrl\":\"" + imageUrl + "\", \"linkAddress\":\"" + linkAddress + "\", \"title\":\"" + title + "\", \"typeId\":\"" +typeId + "\", \"order\":\"" + order + "\", \"describe\":\"" + describe + "\", \"platformId\":\"" + platformId + "\", \"parentSubjectId\":\"" + parentSubjectId + "\", \"addTime\":\"" + addTime + "\", \"updateTime\":\"" + updateTime + "\", \"number\":\"" + number + "\" }";
}
我们就能在后台用 JSON.parseArray 方法获取到我们需要的List了。
GitHub 加速计划 / js / json
41.72 K
6.61 K
下载
适用于现代 C++ 的 JSON。
最近提交(Master分支:1 个月前 )
960b763e
4 个月前
8c391e04
6 个月前
更多推荐
已为社区贡献3条内容
所有评论(0)