1. 程式人生 > >Json,String,Map 三種資料之間的轉換

Json,String,Map 三種資料之間的轉換

在處理資料時,遇到將map、json儲存到本,用的時候再取出來,儲存的時候無疑字串是最方便,取出來就需要處理一下
所以:
首先要保證String字串裡面是資料的格式是map或json型別的

String和Json 之間的轉換  :  String --> Json

  JSONObject  jasonObject = JSONObject.fromObject(str);

String和Map之間的轉換  :  String --> Map

JSONObject  jasonObject = JSONObject.fromObject(str);
Map map = (Map)jasonObject;

JSONObject  這個類也是一個常用類,感興趣可以深挖一下!



在網頁之間傳遞資料出現中文亂碼可能出現亂碼
解決方案:

例如請求介面返回一個map或json資料,包含中文

1,先將map或json轉成string格式,如果是map型別的,先轉成json  JSONObject json=new JSONObject(map); json.toJSONString();轉成string格式

2,利用URLEncoder.encoder(str,"UTF-8")或"GBK"對string加密處理,傳送加密後的str

3,在接受端,收到str後,URLDecoder.decoder(str,"UTF-8")解密成正常str,一般要轉成json需要去掉開始結尾的引號,str=str.substring(1,str.length()-1),再用JSONObject.formObject(str)將str轉成json;之後需要轉map,Map map = (Map)json即可