How to get a Date from a JSON object

2019-02-07 20:14发布

问题:

I have a JSON object, which have one field that is a birthdate:

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

But the method getDate() does not exist in JSONObject.
How can I set the Birthdate in my User object?

回答1:

You may do like below,

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

Hope to help you :)



回答2:

In general, a date is passed as milliseconds or as a formatted string. So depending upon your json you can use either use new Date(json.getLong(milliseconds)) or if date is in string

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