2017년 7월 19일 수요일

JAVA ObjectMapper 클래스 json<->String

1.1 Convert Java object to JSON, writeValue(...)
ObjectMapper mapper = new ObjectMapper();
Staff obj = new Staff();

//Object to JSON in file
mapper.writeValue(new File("c:\\file.json"), obj);

//Object to JSON in String
String jsonInString = mapper.writeValueAsString(obj);
1.2 Convert JSON to Java object, readValue(...)
ObjectMapper mapper = new ObjectMapper();
String jsonInString = "{'name' : 'mkyong'}";

//JSON from file to Object
Staff obj = mapper.readValue(new File("c:\\file.json"), Staff.class);

//JSON from URL to Object
Staff obj = mapper.readValue(new URL("http://mkyong.com/api/staff.json"), Staff.class);

//JSON from String to Object
Staff obj = mapper.readValue(jsonInString, Staff.class);
실제사용예시
List<HashMap<String, Object>> resultList = new ArrayList<HashMap<String, Object>>();
resultList = testDAO.selectListDAO(SearchVO);
ObjectMapper om = new ObjectMapper();
String jsonStr = om.writeValueAsString(resultList);

   ->[{"value1":8.4, "value2":5.4}, {"value1":8.4, "value2":5.4} ]
      이와 같은 형태로 [ ] 안에 json {} 으로 묶이게 된다
      다시 꺼내서 사용할 때는 [] 로 묶여있기 때문에 list로 빼내야함
      var resultCondition = JSON.parse(results[i].resultCondition)[0];

      만약에 []로 묶인것이 아니라 {"value1":8.4, "value2":5.4} 로 묶였다면 아래와 같이만 하면된다
      var resultCondition = JSON.parse(results[i].resultCondition);




댓글 없음:

댓글 쓰기