2013-04-02 2 views
22

에서 날짜, 위치 정보 :하나 개 생일입니다 필드가 나는 JSON 객체를 JSON 개체

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

그러나 된 JSONObject에 존재하지 않는 getDate() 방법을.
내 사용자 개체에서 생년월일을 어떻게 설정할 수 있습니까?

+1

어떻게 날짜, 아래처럼 할 수 있습니다 JSON 응답에 표시됩니까? 나는 String을 추측한다? JSON 표시. –

+0

그것은 "생년월일": "2012-08-01" – user2144555

답변

37

에 있다면 당신은

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

희망은 당신을 도울 :)

+0

그 결과,'Wed Aug 01 00:00:00 BST 2012'이 출력되고 있습니다. 제 형식도 SimpleDateFormat ("yyyy-MM-dd")입니다. – user2144555

+0

partten 형식이 "yyyy-MM-dd"를 사용하려면 "yyyy-MM-dd HH : mm : ss"를 사용하여 시간, 분 및 초를 가져 오십시오. –

+0

@ Bob.Z "2015-12-25 00:00:00"처럼 날짜 문자열이 나타납니다. "2015-12-25 00:00:00 UTC"와 같은 형식으로 지정하고 싶습니다. 어떤 형식을'SimpleDateFormat ("?")'에 써야 하는가? –

4

일반적으로 날짜는 밀리 초 또는 형식이 지정된 문자열로 전달됩니다. 그래서 JSON에 따라 당신은 하나를 사용하고 new Date(json.getLong(milliseconds))를 사용하거나 날짜 문자열

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

입니다. 결과는'Wed Aug 01 00:00:00 BST 2012'입니다. 내 형식조차도 SimpleDateFormat ("yyyy-MM-dd")' – user2144555