Json,String,Map之間的轉換

2021-07-07 04:18:53 字數 1852 閱讀 7728

前提是string的格式是map或json型別的

string 轉json

jsonobject  jasonobject = jsonobject.fromobject(str);

string 轉map

jsonobject  jasonobject = jsonobject.fromobject(str); map map = (map)jasonobject;

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

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

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

此處經試驗錯誤,不知是否為jdk版本問題)

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即可

map轉為json的方式為:

jsonobject jsonobject = jsonobject.frommap(productmap);  

或 jsonobject jsonobject = jsonobject.fromobject(productmap);

aaction中在session中存放了乙個map,跳轉到a.jsp,a.jsp通過form提交到baction,baction可從session中獲得map值。

但是由於session是存放在tomcat的memcached中的,存放大物件會影響使用者使用,同時,如果將map放到request中,通過hidden傳遞,頁面之間傳遞map有問題。

故想到乙個解決方案是將map轉為json,儲存到request中,a.jsp中寫入hidden,最後在baction中獲取json,轉為map即可

map轉為json的方式為:

jsonobject jsonobject = jsonobject.frommap(productmap);   或

jsonobject jsonobject = jsonobject.fromobject(productmap);

json轉為map的方式為:

string json = request.getprarameter("product");//從hidden裡面獲得json串

new//轉成map

public static void main(string args) ";

string a = "";

jsonobject  jasonobject = jsonobject.fromobject(a);

map map = (map)jasonobject;

system.out.println("jasonobject:"+jasonobject+" ,map:"+map);

jsonobject json = jsonobject.fromobject(map);

string jm = json.tostring();

system.out.println("json:"+json+" ,jm:"+jm); }

輸出結果:

jasonobject: ,

map:

json: ,

jm:

Json,String,Map之間的轉換

前提是string的格式是map或json型別的 string 轉json jsonobject jasonobject jsonobject.fromobject str string 轉map jsonobject jasonobject jsonobject.fromobject str ma...

Json,String,Map之間的轉換

前提是string的格式是map或json型別的 string 轉json jsonobject jasonobject jsonobject.fromobject str string 轉map jsonobject jasonobject jsonobject.fromobject str ma...

Json,String,Map之間的轉換

前提是string的格式是map或json型別的 string 轉json jsonobject jasonobject jsonobject.fromobject str string 轉map jsonobject jasonobject jsonobject.fromobject str ma...