1. 程式人生 > >map轉換成JSON的3種方法

map轉換成JSON的3種方法

1 json-lib

<dependency>
			<groupId>net.sf.json-lib</groupId>
			<artifactId>json-lib</artifactId>
			<version>2.4</version>
			 <classifier>jdk15</classifier>
		</dependency>


import java.util.HashMap;
import java.util.Map;

import net.sf.json.JSONObject;

public class aaa {
	  public static void main(String[] args) {
	        Map map = new HashMap();
	        map.put("msg", "yes");//map裡面裝有yes
	        JSONObject jsonObject = JSONObject.fromObject(map);
	        System.out.println("輸出的結果是:" + jsonObject);
	        //3、將json物件轉化為json字串
	        String result = jsonObject.toString();
	        System.out.println(result);
	    }
}


json-lib是一個比較老的解決方案,近幾年都沒有升級過,它的適用環境是JDK1.5,使用JDK1.6就有可能會報錯。所以配置上加入classifier-jdk15來解決這個問題。JAR下載連結

2alibaba

JSONUtils.toJSONString(requestMap);    

maven座標

<!-- https://mvnrepository.com/artifact/com.alibaba/fastjson -->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>1.2.41</version>
</dependency>


google

new Gson().toJson(param);         com.google.gson.2.2.2.jar       

maven座標

<!-- https://mvnrepository.com/artifact/com.google.code.gson/gson -->
<dependency>
    <groupId>com.google.code.gson</groupId>
    <artifactId>gson</artifactId>
    <version>2.3.1</version>
</dependency>


--------------------===-------------------------附--MAP的ASCII排序-----------------------===------------------------

StringBuilder sb = new StringBuilder();
	List<String> keys = new ArrayList<String>(map.keySet());
	Collections.sort(keys);//排序。
	for(String k : keys){
		String v = params.get(k);
		if(StringUtils.isNotEmpty(v)){
			sb.append(v);
		}
	}
	//return MD5.toMD5(sb+key, "UTF-8");這個就不用看了~~~