0
을에 그런 다음 메시지와 함께 예외가 발생합니다 : 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);
}
엔트
는 사용자 테이블 의 내 백 엔드 데이터베이스 스키마가 나는 그렇지 않으면 오류가 발생합니다 첫 번째 단어 에 대문자로 모든 속성을 변경합니다.고마워요.
여기에 정보가 충분하지 않습니다. User 객체는 어떻게 생겼는가? mUserManager의 정의는 무엇입니까? 어떻게 클라이언트를 인스턴스화합니까? –
죄송합니다! 나는이 기사에서 보충했다. –
오류 메시지를 보면 빈 JSON 배열'[]'을 객체로 구문 분석하려고합니다. – Henry