본문 바로가기
IT

자바용 해시맵을 사용한 리스트를 제이슨 포맷(Json)으로 변경

by 달남 2019. 8. 27.

오늘 내용은 Json을 값을 사용하는 방법입니다.

 

그리드에서 데이터를 표시하려고 하니 Json을 사용해야합니다.

 

여러가지 방법이 있을수 있습니다. 

 

저는 org.json.simple 방법으로 하겠습니다.

 

소스는 아래와 같습니다.

 

간단히 test.java를 생성한 후에 아래의 내용을 추가하시면 실행이 가능합니다.

 

package com.test;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.json.simple.JSONArray;
import org.json.simple.JSONObject;

public class test {

public static void main(String[] args) {
// TODO Auto-generated method stub
Map<String, Object> map = new HashMap();
map.put("rownum",     "1");
map.put("svy_yr",      "2");
map.put("schl_id",     "3");

List list = new ArrayList();
list.add(map);
list.add(map);
System.out.println("resultList>>>" + list);
System.out.println("jObject2>>>" + getJsonStringFromList(list));

}

public static JSONObject getJsonStringFromMap( Map<String, Object> map )
    {
        JSONObject jsonObject = new JSONObject();
        for( Map.Entry<String, Object> entry : map.entrySet() ) {
            String key = entry.getKey();
            Object value = entry.getValue();
            jsonObject.put(key, value);
        }
        
        return jsonObject;
    }

public static JSONArray getJsonArrayFromList( List<Map<String, Object>> list )
    {
        JSONArray jsonArray = new JSONArray();
        for( Map<String, Object> map : list ) {
            jsonArray.add( getJsonStringFromMap( map ) );
        }
        
        return jsonArray;
    }

public static String getJsonStringFromList( List<Map<String, Object>> list )
    {
        JSONArray jsonArray = getJsonArrayFromList( list );
        return jsonArray.toJSONString();
    }

}

 

JSP 단에서는 크게 할일은 없습니다.

주위할 점은 꼭 파셔를 하셔야한다는거죠

아래처럼 합니다.

var resultList = JSON.parse('${resultList}');

파셔는 스트링(String )으로  된것를 Json 배열로 바꿔줍니다.

 

참 간단하죠잉? ㅎㅎㅎㅎ

 

댓글