gson 자바 대상 과 json 변환 (실례 코드 설명 및 강좌)

4641 단어 gson
1. Gson 은 Google 이 자바 대상 과 JSON 데이터 사이 에 매 핑 하 는 자바 라 이브 러 리 를 제공 합 니 다.JSON 문자열 을 자바 대상 으로 바 꾸 거나 반대로 바 꿀 수 있 습 니 다.
Gson 에서 가장 중요 한 대상 은 Gson 2 개 와 Gson Builder 다.
Gson 은 두 가지 기본 적 인 방법 이 있어 요.
1) toJSon () – 자바 대상 을 JSON 으로 변환
2) from JSon () – JSON 을 자바 대상 으로 변환
두. 몇 가지 간단 한 예.
 exp 1 (간단 한 대상 object 와 json 간 의 전환):
public class MsgInfo2 {
	private String message; 
	private String flag;
	public String getMessage() {
		return message;
	}
	public void setMessage(String message) {
		this.message = message;
	}
	public String getFlag() {
		return flag;
	}
	public void setFlag(String flag) {
		this.flag = flag;
	} 
	
}

public class Test1 {

	public static void main(String[] args) {
		MsgInfo2 m2 = new MsgInfo2();
		m2.setFlag("00");
		m2.setMessage("message");
		tojson(m2);
		
		String json = "{'message':'message1','flag':'00'}";
		toObject(json);
	}

	public static void tojson(MsgInfo2 m) {
		//       json
		Gson gson = new Gson();
		String result = gson.toJson(m);
		System.out.println(result);
		//   :{"message":"message","flag":"00"}
	}

	public static void toObject(String m) {
		//  json     
		Gson gson = new Gson();
		MsgInfo2 msg = gson.fromJson(m, MsgInfo2.class);
		System.out.println(msg.getFlag());//  :00
		System.out.println(msg.getMessage());//  :message1
	}
}

 exp 2 (복잡 한 대상 object 와 json 간 의 전환):
json 의 구 조 는 다음 과 같다.
{      "org":     {          "orgId": "orgId",          "orgName": "orgName"      },      "biz":     [                  {              "appcode": 55,
              "subscode": "subscode0"          },                  {              "appcode": 66,              "subscode": "subscode1"          }      ]  }
public class ComOpen {
	private Org org;
	private List biz;
	public Org getOrg() {
		return org;
	}
	public void setOrg(Org org) {
		this.org = org;
	}
	public List getBiz() {
		return biz;
	}
	public void setBiz(List biz) {
		this.biz = biz;
	}
}

public class Org {
	private String orgId;
	private String orgName;
	public String getOrgId() {
		return orgId;
	}
	public void setOrgId(String orgId) {
		this.orgId = orgId;
	}
	public String getOrgName() {
		return orgName;
	}
	public void setOrgName(String orgName) {
		this.orgName = orgName;
	}
}

public class BizObject {
	private int appcode;
	private String subscode;
	public String getSubscode() {
		return subscode;
	}
	public void setSubscode(String subscode) {
		this.subscode = subscode;
	}
	public int getAppcode() {
		return appcode;
	}
	public void setAppcode(int appcode) {
		this.appcode = appcode;
	}
}

/**
 *   java   json  
 *
 * @author yangliang
 * @version 1.0
 * @created 2011-10-11   03:14:04
 * @history 
 * @see
 */
public class Test2 {
	public static void main(String[] args) {
		toJson();
		toObject();
	}
	public static void toJson(){
		ComOpen como = new ComOpen();
		Org org = new Org();
		org.setOrgId("orgId");
		org.setOrgName("orgName");
		como.setOrg(org);
		List biz = new ArrayList();
		BizObject bizObject = new BizObject(); 
		bizObject.setAppcode(55);
		bizObject.setSubscode("subscode0");
		BizObject bizObject1 = new BizObject(); 
		bizObject1.setAppcode(66);
		bizObject1.setSubscode("subscode1");
		biz.add(bizObject);
		biz.add(bizObject1);
		como.setBiz(biz);
		Gson gson=new GsonBuilder().create();
		String result = gson.toJson(como);
		System.out.println(result);
		//  {"org":{"orgId":"orgId","orgName":"orgName"},"biz":   
		//[{"appcode":55,"subscode":"subscode0"},{"appcode":66,"subscode":"subscode1"}]}
	}
	
	public static void toObject(){
		String json = "{'org':{'orgId':'orgId','orgName':'orgName'},'biz':" +
		 "[{'appcode':55,'subscode':'subscode0'},{'appcode':66,'subscode':'subscode1'}]}";
		Gson gson=new Gson();
		ComOpen  m3 = gson.fromJson(json, ComOpen.class);
		System.out.println(m3.getBiz().size());//2
		System.out.println("orgId:"+m3.getOrg().getOrgId());//orgId:orgId
		System.out.println("appcode:"+ m3.getBiz().get(0).getAppcode());//appcode:55
 	}
}

 3. 기타 gson 튜 토리 얼 과 공식 도움말 문 서 를 참고 할 수 있 습 니 다.

좋은 웹페이지 즐겨찾기