Cómo obtener una fecha de un objeto JSON


Tengo un objeto JSON, que tiene un campo que es una fecha de nacimiento:

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"));

Pero el método getDate() no existe en JSONObject.
¿Cómo puedo establecer la fecha de nacimiento en mi objeto de Usuario?

Author: ric, 2013-04-02

2 answers

Usted puede hacer como abajo,

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

Espero ayudarte:)

 42
Author: Hunter Zhao,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-04-02 10:06:25

En general, una fecha se pasa como milisegundos o como una cadena formateada. Así que dependiendo de su json puede usar usar new Date(json.getLong(milliseconds)) o si la fecha está en cadena

String birthdate = json.getString(date);//"2013-03-26"
DateFormat df = new SimpleDateFormat("yyyy-MM-dd"); 
 4
Author: Ankit,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-06-09 15:54:58