json
응답을 역 직렬화 한 후에 null
객체 속성이 있습니다. 안드로이드로 개발 중입니다. retrofit2
, 변환기 (https://github.com/kamikat/moshi-jsonapi)로 moshi를 사용하고 있습니다. 디버깅 할 때 json
응답을 완전히 검색 (null 특성 아님)했지만 비 직렬화가 실패했습니다. 대신 GSON
을 사용해야합니까?moshi로 JSON API 응답의 비 직렬화
여기 내 json
전화 걸기에 사용 내 개조 빌더 없습니다 : (어떤 문제)
public static JsonServerInterface getSimpleClient(){
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(BASE_AUTH_URL)a
.addConverterFactory(MoshiConverterFactory.create())
.build();
JsonServerInterface webServer=retrofit.create(JsonServerInterface.class);
return webServer;
}
내 api
json
호출, 응답 (직렬화가 오류없이 실패) UserModel
null
와 속성을 포함
signInCall.enqueue(new Callback<UserModel>(){
@Override
public void onResponse
(Call<UserModel> call, Response<UserModel> response)
{
response.message();
}
}
내 UserModel
(필요에 따라 moshi가 있지만 뭔가 부족하다고 생각합니다) :
@JsonApi(type = "users")
public class UserModel extends Resource {
@Json(name = "auth-token")
private String authToken;
@Json(name = "firstname")
private String firstname;
@Json(name = "lastname")
private String lastname;
@Json(name = "email")
private String email;
@Json(name = "created-at")
private String createdAt;
@Json(name = "updated-at")
private String updatedAt;
private HasMany<ActivityModel> activities;
내 내가 본 json
응답 HTTP 응답을 디버깅 할 때, 내가 어떤 trouve없이 검색하지만, 모시가 직렬화 짜증, 그리고 오류가 발생하지됩니다
{
"data": {
"id": "21",
"type": "users",
"attributes": {
"auth-token": "t8S3BTqyPwN3T4QDMY1FwEMF",
"firstname": "aymen",
"lastname": "myself",
"email": "[email protected]",
"created-at": "2017-11-13T22:52:39.477Z",
"updated-at": "2017-11-13T23:21:09.706Z"
},
"relationships": {
"activities": {
"data": [
{
"id": "81",
"type": "activities"
}
]
}
}
},
"included": [
{
"id": "81",
"type": "activities",
"attributes": {
"title": "activity 10",
"description": "how to draw a circle",
"start-at": "2017-11-13T23:06:13.474Z",
"duration": 10,
"created-at": "2017-11-13T23:06:32.630Z",
"updated-at": "2017-11-13T23:06:32.630Z"
},
"relationships": {
"user": {
"data": {
"id": "21",
"type": "users"
}
}
}
}
]
}
당신의 UserModel이 JSON 구조 것을 일치하지 않습니다 도움이되기를 바랍니다. 그것은 내부 "속성"객체와 일치합니다. 모델 구조를 정렬하는 것으로 시작하는 것이 좋습니다. –