web-dev-qa-db-fra.com

Comment obtenir une date à partir d'un objet JSON

J'ai un objet JSON, qui a un champ qui est une date de naissance:

JSONObject obj = new JSONObject(response);
User user = new User();
user.setuserID(obj.getString("userID"));
user.setisMale(obj.getBoolean("isMale"));
user.setEmail(obj.getString("email"));
// user.setBirthdate(obj.getDate("birthdate"));
user.setLastName(obj.getString("lastName"));
user.setFirstName(obj.getString("firstName"));

Mais la méthode getDate() n'existe pas dans JSONObject.
Comment puis-je définir la date de naissance dans mon objet utilisateur?

28
user2144555

Vous pouvez faire comme ci-dessous,

String dateStr = obj.getString("birthdate");
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date birthDate = sdf.parse(dateStr);
//then
user.setBirthdate(birthDate);

Au plaisir de vous aider :)

45
Hunter Zhao

En général, une date est transmise en millisecondes ou en tant que chaîne formatée. Donc, selon votre json, vous pouvez utiliser soit utiliser new Date(json.getLong(milliseconds)) ou si la date est dans la chaîne

String birthdate = json.getString(date);//"2013-03-26"
DateFormat df = new SimpleDateFormat("yyyy-MM-dd"); 
3
Ankit