1. 程式人生 > >Java Map型別與Json字串的互相轉換----------親測有效

Java Map型別與Json字串的互相轉換----------親測有效

  1. import java.io.BufferedReader;

  2. import java.io.IOException;

  3. import java.io.InputStream;

  4. import java.io.InputStreamReader;

  5. import java.io.Reader;

  6. import java.io.UnsupportedEncodingException;

  7. import java.util.HashMap;

  8. import java.util.Map;

  9. import java.util.Scanner;

  10.  
  11.  
  12. import com.google.gson.Gson;

  13. import com.google.gson.GsonBuilder;

  14.  
  15.  
  16. public class ConvertUtils {

  17. // Gson gson = new GsonBuilder().enableComplexMapKeySerialization().create();

  18. static Gson gson = new Gson();

  19.  
  20. // JSON字串轉為Map資料型別

  21. public static HashMap get_request_json_object(InputStream input_stream){

  22. HashMap mapObj=null;

  23. try {

  24. BufferedReader streamReader = new BufferedReader(new InputStreamReader(input_stream,"UTF-8"));

  25. StringBuilder responseStrBuilder = new StringBuilder();

  26. String inputStr;

  27. while ((inputStr = streamReader.readLine()) != null) responseStrBuilder.append(inputStr);

  28. // mapObj = JSONObject.parseObject(responseStrBuilder.toString(),Map.class);

  29. mapObj = gson.fromJson(responseStrBuilder.toString(), HashMap.class);

  30.  
  31. } catch (Exception e) {

  32. e.printStackTrace();

  33. }

  34. return mapObj;

  35. }

  36.  
  37. // Map資料型別轉為JSON字串

  38. public static String build_request_json_object(Map mapObj) {

  39. String json_string = null;

  40. try {

  41. json_string = gson.toJson(mapObj);

  42. } catch (Exception e) {

  43. e.printStackTrace();

  44. }

  45. return json_string;

  46. }

  47. }