회사에서 메이븐이 안되는 관계로 jar 파일 다운로드
Users class 작성
package gsjon;
/**
* Created by sungbo on 2017-08-02.
*/
public class Users {
private String userName;
private String age;
private String emNum;
public Users(String userName, String age, String emNum) {
this.userName = userName;
this.age = age;
this.emNum = emNum;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public String getEmNum() {
return emNum;
}
public void setEmNum(String emNum) {
this.emNum = emNum;
}
@Override
public String toString() {
return "Users{" +
"userName='" + userName + '\'' +
", age='" + age + '\'' +
", emNum='" + emNum + '\'' +
'}';
}
}
json 컨버트 해보기
package gsjon;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import org.apache.log4j.Logger;
import java.util.ArrayList;
import java.util.List;
/**
* Created by sungbo on 2017-08-02.
*/
public class GsonChange {
static Logger logger = Logger.getLogger(GsonChange.class);
public static void main(String[] args){
Users users = new Users("mingki","34","001");
String json = new Gson().toJson(users);
logger.info("1.단일 클래스를 변환 ToJson");
logger.info(json.toString());
List<Users> userLists = new ArrayList<Users>();
for(int i=0; i < 10 ;i++){
char str = (char) (65 + i);
Users u = new Users("P"+str,String.valueOf(i),"000"+i);
userLists.add(u);
}
String gjsonStr = new Gson().toJson(userLists);
logger.info("2.리스트를 json 형태로 변환");
logger.info(gjsonStr.toString());
logger.info("3. json을 클래스 객체로 변환 Json => Object ");
Users changeToObject = new Gson().fromJson(json,Users.class);
logger.info("새로 생성한 객체에 담은 값 : "+changeToObject.toString());
//json 리스트를 다시 객체로 gjsonStr은 리스트 to json으로 해놓은 값이다.
Gson gson = new Gson();
List<Users> toListo = gson.fromJson(gjsonStr,new TypeToken<List<Users>>(){}.getType());
logger.info("============= 1.json to Object List =============");
for(Users t : toListo){
logger.info(t.toString());
}
Users[] usersArray = gson.fromJson(gjsonStr, Users[].class);
logger.info("============= 2.json to Object List =============");
for(Users t : usersArray){
logger.info(t.toString());
}
}
}
1. json 데이터를 리스트로 받기
String gjsonStr <== 여기에는
Users{userName='PA', age='0', emNum='0000'}
Users{userName='PB', age='1', emNum='0001'}
Users{userName='PC', age='2', emNum='0002'}
Users{userName='PD', age='3', emNum='0003'}
Users{userName='PE', age='4', emNum='0004'}
Users{userName='PF', age='5', emNum='0005'}
Users{userName='PG', age='6', emNum='0006'}
Users{userName='PH', age='7', emNum='0007'}
Users{userName='PI', age='8', emNum='0008'}
Users{userName='PJ', age='9', emNum='0009'}
List<Users> toListo = gson.fromJson(gjsonStr,new TypeToken<List<Users>>(){}.getType());
2. 두번째 방법
배열을 이용해서 컨버팅.... 예전에 안드로이드에서 서버와 통신 할때... 아래처럼 했었지....
이제 눈에 확 들어온다... ㅠㅠ
Users[] usersArray = gson.fromJson(gjsonStr, Users[].class);
'슬기로운 자바 개발자 생활 > Java more' 카테고리의 다른 글
자바 SMTP 메일 송신 기능 구현. 파일 첨부 포함 (0) | 2021.07.18 |
---|---|
메서드 축출 기법(extract method) (0) | 2019.09.17 |
log4j java프로젝트 설정 (0) | 2017.08.02 |
Java Comparable 메서드 (0) | 2017.07.27 |
자바 파일에서 log4j 설정방법 <스프링말고 웹말고^^> (0) | 2017.07.18 |
댓글