FastJson处理数据出现错误com.alibaba.fastjson.JSONExce。
。。
⽤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了