イルカエルフ:https : //mgo.whhtjl.com
ajaxを使用してJSONデータを送信します。データタイプはList、com.alibaba.fastjson.JSONException:構文エラー、予期{、実際のエラー、pos 1タイプのエラーが発生します
一般的にはデータ形式の問題ですが、まずはJSONのデータ形式を知る必要があります
JSONでは、オブジェクトは{}で囲まれ、マッピングは「:」で表され、コレクションまたは配列は[]で囲まれます
たとえば、JavaクラスのJSON形式は次のとおりです。
{
名称1:值1,
名称2:值2
}
リストのJSON形式は
[
{名称1:值,名称2:值2},
{名称1:值,名称2:值2}
]
ここで注意すべき問題があります。キー値を接続するためにマップで「=」を「:」の代わりに使用することは、リストとは異なります
さらに、変換する必要があるJavaクラスでtoStringメソッドを書き換える必要があります。そうしないと、デフォルトのtoString()メソッドが自動的に呼び出され、そのような文字列のみを取得できます。 "class name + @ + 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メソッドを使用して、バックグラウンドで必要なリストを取得できます。