com.alibaba.fastjson.JSONException:構文エラー、予期{、実際のエラー、pos 1

イルカエルフ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メソッドを使用して、バックグラウンドで必要なリストを取得できます。

 

おすすめ

転載: blog.csdn.net/qq_35393693/article/details/107738338