其實(shí)jsonobject轉(zhuǎn)map的問題并不復(fù)雜,但是又很多的朋友都不太了解map轉(zhuǎn)json不改變順序,因此呢,今天小編就來為大家分享jsonobject轉(zhuǎn)map的一些知識(shí),希望可以幫助到大家,下面我們一起來看看這個(gè)問題的分析吧!
jsonobject 和map的區(qū)別
jsonobject和map的不同點(diǎn)如下:
(1)JSONObject不可以存空,Map可以存空
(2)Map由jdk提供,JsonObject需要第三方架包提供
(3)轉(zhuǎn)String后,數(shù)據(jù)格式不同。JsonObject是標(biāo)準(zhǔn)的json格式。請求第三方接口需要標(biāo)準(zhǔn)的json格式,一般使用JsonObject。
怎么把json字符串轉(zhuǎn)換成map
代碼示例:
importcom.alibaba.fastjson.JSON;
importcom.alibaba.fastjson.JSONObject;
importjava.util.Map;
publicclassJsonToMapTest01{
publicstaticvoidmain(String[]args){
Stringstr="{\"0\":\"zhangsan\",\"1\":\"lisi\",\"2\":\"wangwu\",\"3\":\"maliu\"}";
//第一種方式
Mapmaps=(Map)JSON.parse(str);
System.out.println("這個(gè)是用JSON類來解析JSON字符串!!!");
for(Objectmap:maps.entrySet()){
System.out.println(((Map.Entry)map).getKey()+""+((Map.Entry)map).getValue());
}
//第二種方式
MapmapTypes=JSON.parseObject(str);
System.out.println("這個(gè)是用JSON類的parseObject來解析JSON字符串!!!");
for(Objectobj:mapTypes.keySet()){
System.out.println("key為:"+obj+"值為:"+mapTypes.get(obj));
}
//第三種方式
MapmapType=JSON.parseObject(str,Map.class);
System.out.println("這個(gè)是用JSON類,指定解析類型,來解析JSON字符串!!!");
for(Objectobj:mapType.keySet()){
System.out.println("key為:"+obj+"值為:"+mapType.get(obj));
}
//第四種方式
Mapjson=(Map)JSONObject.parse(str);
System.out.println("這個(gè)是用JSONObject類的parse方法來解析JSON字符串!!!");
for(Objectmap:json.entrySet()){
System.out.println(((Map.Entry)map).getKey()+""+((Map.Entry)map).getValue());
}
//第五種方式
JSONObjectjsonObject=JSONObject.parseObject(str);
System.out.println("這個(gè)是用JSONObject的parseObject方法來解析JSON字符串!!!");
for(Objectmap:json.entrySet()){
System.out.println(((Map.Entry)map).getKey()+""+((Map.Entry)map).getValue());
}
//第六種方式
MapmapObj=JSONObject.parseObject(str,Map.class);
System.out.println("這個(gè)是用JSONObject的parseObject方法并執(zhí)行返回類型來解析JSON字符串!!!");
for(Objectmap:json.entrySet()){
System.out.println(((Map.Entry)map).getKey()+""+((Map.Entry)map).getValue());
}
StringstrArr="{{\"0\":\"zhangsan\",\"1\":\"lisi\",\"2\":\"wangwu\",\"3\":\"maliu\"},"+
"{\"00\":\"zhangsan\",\"11\":\"lisi\",\"22\":\"wangwu\",\"33\":\"maliu\"}}";
//JSONArray.parse()
System.out.println(json);
}
}
如何把map轉(zhuǎn)成json
把map轉(zhuǎn)成json的步驟:
1、需要一些jar包:json-lib-2.4-jdk15.jar、ezmorph-1.0.6.jar、commons-logging.jar、commons-lang.jar、commons-collections.jar、commons-beanutils.jar。
2、把Map轉(zhuǎn)換成json,要使用jsonObject對象:Map<String,Object>map=newHashMap<String,Object>();map.put("userId",1001);map.put("userName","張三");map.put("userSex","男");JSONObjectjsonObject=JSONObject.fromObject(map);System.out.println(jsonObject);
java在后臺(tái)如何將前臺(tái)傳過來的json格式數(shù)據(jù)轉(zhuǎn)換為map
你找一個(gè)解析json的包,Gson或者fastjson,把你收到的那個(gè)字符串轉(zhuǎn)換為JsonObject對象,然后你用Map的操作方式來操作JsonObject就行了。順便說下,json的格式比較復(fù)雜,它比Map的格式要復(fù)雜些,所以,你不可能把json完全轉(zhuǎn)換為Map,如果格式是按你說的{"a":0,"b":1,"c":1,"d":1}格式是固定的話,那你自己把JsonObject轉(zhuǎn)換成Map就可以了
如何把map轉(zhuǎn)成json字符串
把map轉(zhuǎn)成json的步驟:
1、需要一些jar包:json-lib-2.4-jdk15.jar、ezmorph-1.0.6.jar、commons-logging.jar、commons-lang.jar、commons-collections.jar、commons-beanutils.jar。
2、把Map轉(zhuǎn)換成json,要使用jsonObject對象:Map<String,Object>map=newHashMap<String,Object>();map.put("userId",1001);map.put("userName","張三");map.put("userSex","男");JSONObjectjsonObject=JSONObject.fromObject(map);
文章分享結(jié)束,jsonobject轉(zhuǎn)map和map轉(zhuǎn)json不改變順序的答案你都知道了嗎?歡迎再次光臨本站哦!