ぺーぺーSEのブログ

備忘録・メモ用サイト。

JSON、Map変換

JSON <-> Map 間の相互変換の例。
JSON項目の順序を保持したいのでLinkedHashMapでサンプルを作った。

package org.sample;
 
import java.util.LinkedHashMap;
import java.util.Map;
 
import org.codehaus.jackson.map.ObjectMapper;
import org.codehaus.jackson.type.TypeReference;
 
public class MapJsonExample {
    public static void main(String[] args) {
 
		String input = "{\"address\":\"Yokohama\",\"id\":\"4\",\"name\":\"Takahashi\"}";
		
		// JSON -> Map
		Map<String,String> map = new LinkedHashMap<>();
		ObjectMapper mapper = new ObjectMapper();
		try {
			map = mapper.readValue(input, new TypeReference<LinkedHashMap<String,String>>(){});
			System.out.println(map);
		} catch (Exception e) {
			e.printStackTrace();
		}
		
		// Map -> JSON
		String json = "";
		try {
			json = mapper.writeValueAsString(map);
			System.out.println(json);
		} catch (Exception e) {
			e.printStackTrace();
		}
    }
}