2017-12-04 6 views
0

사용자를 등록하려고하면 "을 사용하여 회선 1 열 1 행의 형식이 잘못된 JSON을 사용합니다."가 계속 표시됩니다. 나는 이것과 관련된 대부분의 질문을 겪었지만 아무도 정말로 나를 도왔다. 아래는 서버에 연결을 시작하는 등록 프로세스입니다.

private void registerProcess(final String name,final String email,final String password){ 

    String tag_string_req = "req_register"; 
    //pDialog = new AlertDialog.Builder(getActivity()); 
    pDialog.setMessage("please wait"); 
    pDialog.show(); 

      Retrofit retrofit = new Retrofit.Builder() 
      .baseUrl(Constants.BASE_URL) 
      .addConverterFactory(GsonConverterFactory.create()) 
      .build(); 

    RequestInterface requestInterface = retrofit.create(RequestInterface.class); 

    User user = new User(); 
    user.setName(name); 
    user.setEmail(email); 
    user.setPassword(password); 
    ServerRequest request = new ServerRequest(); 
    request.setOperation(Constants.REGISTER_OPERATION); 
    request.setUser(user); 
    Call<ServerResponse> response = requestInterface.operation(request); 

    response.enqueue(new Callback<ServerResponse>() { 
     private View view; 

     public View getView() { 
      return view; 
     } 

     @Override 
     public void onResponse(Call<ServerResponse> call, retrofit2.Response<ServerResponse> response) { 

      ServerResponse resp = response.body(); 

      // if(resp !=null) 
      Toast.makeText(getApplicationContext(),response.message(), Toast.LENGTH_LONG).show(); 
      pDialog.dismiss(); 
     } 


     @Override 
     public void onFailure(Call<ServerResponse> call, Throwable t) { 

      // progress.setVisibility(View.INVISIBLE); 
      Log.d(Constants.TAG, "failed"); 
      Toast.makeText(getApplicationContext(), t.getLocalizedMessage(), Toast.LENGTH_LONG).show(); 
      pDialog.dismiss(); 


     } 
    }); 
} 

답변

0

처음에는 응답을 확인하십시오. 난 당신이 json 개체의 컬렉션을 받고 있다고 생각하지만 당신은 하나의 개체로 변환하려고합니다. 응답이 단일 json 객체인지 확인하거나 json 배열 응답이있는 경우 코드를 조정하십시오. 코드는 실제로 단일 json 객체에서 작동합니다.

+0

어떻게 할 수 있습니까? – Mani