그래서 내가 주로 이용하는 방법은
public String toJSON(){ JSONObject jsonObject= new JSONObject(); try { jsonObject.put("name", name); jsonObject.put("price", oakley price); jsonObject.put("size", size); jsonObject.put("result", result); oakley jsonObject.put("imgId", imgId); jsonObject.put("weather", weather); jsonObject.put("onAlarm", onAlarm); return jsonObject.toString(); } catch (JSONException e) { e.printStackTrace(); return ""; } }
타겟 Activity 를 호출 하는 부분의 소스는 Item item = new Item(); String jsonObject = item.toJSON(); Intent intent = new Intent(My.this, Target.class); intent.putExtra("jsonData",jsonObject.toString()); startActivity(intent);
{“timeC”:41160000,”imgId”:2130837580,”result”:”고무나무껍질, 천연고무, 통나무 5개”,”workPoint”:”10″,”timeA”:41160000,”timeB”:28800000,”price”:”7은”,”name”:”고무나무”,”weather”:”열대”,”onAlarm”: false ,”size”:”3×3″} 4. 이제 받는 쪽에서 String 형태의 JsonObject 를 다시 Object( 여기서는 Item 객체 )화 시켜야 한다. 받는 쪽 소스는 다음과 같다 . ObjectMapper mObjMapper = new ObjectMapper().configure(DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES, false); // ObjectMapper 선언. 뒤쪽의 configure부분은 //받는쪽 Object에 없는 항목을 맵핑해야 되는 경우에는 //무시하라는 설정이다. 이건 서버와의 통신에서 유용하게 쓰인다. Item item = new Item(); // 넘어올 데이터를 담을 객체 선언 String jsonStringData = getIntent().getExtras().getString("jsonData"); oakley // Intent 에서 jsonData 라는 key값으로 oakley 보내진 String 데이터를 추출. item = mObjMapper.readValue(jsonData, Item.class); // item객체에 맵핑.
Related Articles
No comments:
Post a Comment