使用してレトロフィット+ OkHttp + Gson APIが返すHTMLけれども郵便配達リターンJSON
ちょうど平野は、APIを取得
BASEURL/ECOM-サービス/ API /モバイル/
が、Android上で今後のタスク/ユーザー/ tokenhere_ は/
@GET("mobile/tasks/user/{id}/upcoming")
fun jobList(@Path("id") id: String): retrofit2.Call<Job>
これは、HTMLを返し
これを返すのonError:
java.lang.IllegalStateException:期待BEGIN_OBJECTをしかし、これはコール
fun fetchData() {
apiService.jobList(getUserId()).enqueue(object : retrofit2.Callback<Job>{
override fun onFailure(call: Call<Job>?, t: Throwable?) {
Timber.v(t!!.message.toString())
}
override fun onResponse(call: Call<Job>?, response: Response<Job>?) {
Timber.v(response!!.body().toString())
}
})
仕事=データ
ある行1列1つのパス$でSTRINGました
json:
{
"type": "success",
"text": "200",
"data": [
{
"requestId": "5a31fc2b9af83128136f8fb3",
"taskDetailRequestId": null,
"clientEmail": null,
"imageBase64": null,
"imageLogoWidth": 0,
"imageLogoHeight": 0,
"additionalEmails": [],
"clientId": "5891d6b01d58301538b578ea",
"clientServiceAddress": {
"id": "5891d6b01d58301538b578eb",
"_refs": null,
"name": "tony chew",
"address1": null,
"address2": null,
"pinCode": "123123",
"createdUserId": null,
"lastUpdatedUserId": null,
"latitude": 0,
"longitude": 0,
"organizationId": null,
"addressType": null
},
"startDate": 1513311600000,
"endDate": 1513312500000,
"userRegId": "5891d7521d58301538b578fd",
"requestDate": 1513225200000,
"serviceName": "Service 1 SImple",
"serviceRequest": null,
"userTaskDetailsId": "5a31fc319af83128136f8fb9",
"fromSubclient": false,
"requestStatus": "ASSIGNED",
"serviceRequestType": "SERVICE",
"contractPayments": null
}
]
}
Job.kt
data class Job(
@Expose @SerializedName("type") val type: String, //success
@Expose @SerializedName("text") val text: String, //200
@Expose @SerializedName("data") val data: List<Data>
)
期待されるJSONを追加し、 'job'の – Pelocho
@Pelochoジョブあなたは、文字列を取得 –
タイプ、テキスト、およびデータ・フィールドが含まれていますが、' JSONObject' –