개발/JAVA
array형 json string값을 object로 변환할때 ( json string array to object)
보리ing
2021. 3. 17. 16:11
{"id" : "아이디", "name" : "이름"} 과 같이 json 형태의 string을 object로 변환하는 것은 obejct mapper로 간단하게
변환할 수 있다.
String userStr = "{"id" : "아이디", "name" : "이름"}";
ObjectMapper objectMapper = new ObejctMapper();
User user = objectMapper.readValue(userStr, User.class);
하지만 [ {"id" : "아이디", "name" : "이름"}, {"id" : "아이디", "name" : "이름"}] 와 같이 array인 형태는 어떻게 해야할까?
list형태로 생각되어 List<Object>로 변환하려 하였으나 잘 되지 않았다.
->
List<Object>가 아닌 Object[] 받으면 된다. 겉보기엔 리스트와 구분되지 않아 리스트로 바로 변환하려고 하면 문제가 되는 것이다.
String userArray = "[{"id" : "아이디", "name" : "이름"}, {"id" : "아이디", "name" : "이름"}]";
User[] users = objectMapper.readValue(userArray. User[].class);
또는
List<User> userList = Arrays.asList(objectMapper.readValue(userArray, User[].class));