0

푸른 작업,java.lang.IllegalStateException : 아니 JSON 개체 : [] 내가 등록시</strong> 나의 새로운 사용자 삽입 <strong>에 <strong>푸른 모바일 응용 프로그램</strong>을 사용하고

을에 그런 다음 메시지와 함께 예외가 발생합니다 : java.lang.IllegalStateException : 아니 JSON 개체 :

[]

내 코드를 (내가 는 사용자 테이블에 개체이 없습니다) 내 모든 데이터베이스 속성의 이름을 확인했다

public static void registerUserToTheDataBase(final User user){ 
    AsyncTask<Void, Void, Void> asyncTask = new AsyncTask<Void, Void, Void>() { 
     @Override 
     protected Void doInBackground(Void... voids) { 
      try { 
       UserManager.user = mUserManager.insert(user).get(); 
      } catch (Exception e) { 
       e.printStackTrace(); 
      } 

      return null; 
     } 
    }; 
    AsyncTaskController.runAsyncTask(asyncTask); 
} 

정확이 내 사용자 개체

public class User implements Serializable { 
@com.google.gson.annotations.SerializedName("id") 
private String id; 
@com.google.gson.annotations.SerializedName("name") 
private String name; 
@com.google.gson.annotations.SerializedName("live") 
private String live; 
@com.google.gson.annotations.SerializedName("age") 
private int age; 
@com.google.gson.annotations.SerializedName("password") 
private String password; 
@com.google.gson.annotations.SerializedName("account") 
private String account; 
@com.google.gson.annotations.SerializedName("phone") 
private String phone; 
@com.google.gson.annotations.SerializedName("email") 
private String email; 
@com.google.gson.annotations.SerializedName("imageUrl") 
private String imageUrl; 

@com.google.gson.annotations.SerializedName("productsHistoryRecord") 
private List<ProductImp> productsHistoryRecord; 
@com.google.gson.annotations.SerializedName("productsSales") 
private List<ProductImp> productsSales; 
@com.google.gson.annotations.SerializedName("productsInCart") 
private List<ProductImp> productsInCart; 
@com.google.gson.annotations.SerializedName("mails") 
private List<Mail> mails; 


public String getImageUrl() { 
    return imageUrl; 
} 

public void setImageUrl(String imageUrl) { 
    this.imageUrl = imageUrl; 
} 

public String getId() { 
    return id; 
} 

public String getName() { 
    return name; 
} 

public int getAge() { 
    return age; 
} 

public String getAccount() { 
    return account; 
} 

public String getLive() { 
    return live; 
} 

public String getPassword() { 
    return password; 
} 

public String getPhone() { 
    return phone; 
} 

public void setName(String name) { 
    this.name = name; 
} 

public void setAccount(String account) { 
    this.account = account; 
} 

public void setAge(int age) { 
    this.age = age; 
} 

public void setLive(String live) { 
    this.live = live; 
} 

public void setPassword(String password) { 
    this.password = password; 
} 

public void setPhone(String phone) { 
    this.phone = phone; 
} 

public void setId(String id) { 
    this.id = id; 
} 

public void setEmail(String email) { 
    this.email = email; 
} 

public String getEmail() { 
    return email; 
} 

public List<Mail> getMails() { 
    return mails; 
} 

public void setMails(List<Mail> mails) { 
    this.mails = mails; 
} 

public List<ProductImp> getProductsHistoryRecord() { 
    return productsHistoryRecord; 
} 

public void setProductsHistoryRecord(List<ProductImp> productsHistoryRecord) { 
    this.productsHistoryRecord = productsHistoryRecord; 
} 

public List<ProductImp> getProductsInCart() { 
    return productsInCart; 
} 

public void setProductsInCart(List<ProductImp> productsInCart) { 
    this.productsInCart = productsInCart; 
} 

public List<ProductImp> getProductsSales() { 
    return productsSales; 
} 

public void setProductsSales(List<ProductImp> productsSales) { 
    this.productsSales = productsSales; 
} 

@Override 
public String toString() { 
    return "user information :" + name + "," + age + "," + live + "," + phone + "," + account + "," + password 
     + "," + productsHistoryRecord + "," + productsInCart + "," + productsSales ; 
} 

}

사용자와 제품 사이의 세 가지 관계가있다

뿐만 아니라 이것이 내가 MobileServerCli을 인스턴스화하는 방법입니다 여기

public static void initiate(Context context) throws MalformedURLException { 
    mClient = new MobileServiceClient(LINK,context).withFilter(new ProgressFilter()); 
    mClient.setAndroidHttpClientFactory(new OkHttpClientFactory() { 
     @Override 
     public OkHttpClient createOkHttpClient() { 
      OkHttpClient client = new OkHttpClient(); 
      client.setReadTimeout(20, TimeUnit.SECONDS); 
      client.setWriteTimeout(20, TimeUnit.SECONDS); 
      return client; 
     } 
    }); 
    initiateTables(); 
} 

public static void initiateTables(){ 
    mUserManager = mClient.getTable("User",User.class); 
    mProduct = mClient.getTable("Product",ProductImp.class); 
    mMail = mClient.getTable("Mail",Mail.class); 
    mLockerImp = mClient.getTable("Locker",LockerImp.class); 
    mCart = mClient.getTable("Cart",CartList.class); 
} 

엔트

는 사용자 테이블 의 내 백 엔드 데이터베이스 스키마가 나는 그렇지 않으면 오류가 발생합니다 첫 번째 단어 에 대문자로 모든 속성을 변경합니다.

enter image description here

고마워요.

+1

여기에 정보가 충분하지 않습니다. User 객체는 어떻게 생겼는가? mUserManager의 정의는 무엇입니까? 어떻게 클라이언트를 인스턴스화합니까? –

+0

죄송합니다! 나는이 기사에서 보충했다. –

+0

오류 메시지를 보면 빈 JSON 배열'[]'을 객체로 구문 분석하려고합니다. – Henry

답변

2

httphttps으로 수정하십시오.

+0

예! 당신은 내 질문을 해결했습니다! 너는 나의 날을 만들었다! 나는 단지 's'을 붙 였고 문제는 풀렸다 !!!!!!!!!!!!!!!!!! –