Wenn ich mein Projekt entwickelt, hatte ich einen Fehler in Android-AktivitätDeserialisierung String json von asp zu Java-Klasse
json Zeichenfolge, die von ASP-Methode zurückgeben ist zurück, aber richtig, wenn convert json Klasse ist die Klasse gleich null (i wandle es von google json jar 2,1)
android code:
//to call my service and get data
ServiceCall call = new ServiceCall();
String jsonuserdata = call.getUserData("[email protected]")
.toString();
Toast.makeText(getApplicationContext(), jsonuserdata,Toast.LENGTH_SHORT).show();
//this Toast message is print data correctly
Gson gson = new Gson();
Type userType = new TypeToken<UserData>(){}.getType();
UserData user = gson.fromJson(jsonuserdata,userType);
Toast.makeText(getApplicationContext(), "" + user.userid.toString(),
Toast.LENGTH_SHORT).show();
das Problem ist, wenn ich json String Klasse
asp.net Web-Methode gibt einen gültigen jSON-String zu android Methode
konvertieren[WebMethod]
public string getUserData(string email)
{
UserData user = new UserData();
user = DataBase.getUserData(email);
JavaScriptSerializer js = new JavaScriptSerializer();
string strJSON = js.Serialize(user);
return strJSON;
}
das ist meine Klasse in Java
public class UserData {
public static Class<UserData> USERDATA_CLASS = UserData.class;
public String getUserid() {
return userid;
}
public void setUserid(String userid) {
this.userid = userid;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
String username;
String email;
String password;
String userid;
public UserData() {
}
public UserData(String id, String name, String age, String weight,
String height, String calorie, String status, String gender,
String idealweight, String minidealweight, String maxidealweight,
String email, String password, String country, String report,String accountstatus) {
this.userid = id;
this.username = name;
this.email = email;
this.password = password;
}
public UserData(UserData user) {
this.userid = user.userid;
this.username = user.username;
this.email = user.email;
this.password = user.password;
}
}
wirklich, ich werde versuchen – Developer
{"Benutzername": "Benutzer", "E-Mail": "[email protected]", "password": "123", "userid": "100"} Dies ist der JSON string – Developer