java在后台如何将前台传过来的json格式数据转换为map
我们需要先把json字符串转化为
net.sf.json.JSONObject
对象,java中这样就可以完成json字符串到Map的转换了。1.将数组转换为JSON:String[] arr = {"asd","dfgd","asd","234"};JSONArray jsonarray = JSONArray.fromObject(arr);System.out.println(jsonarray);
2.对象转换成JSON:UserInfo user = new UserInfo(1001,"张三");JSONArray jsonArray = JSONArray.fromObject(user);System.out.println( jsonArray );
3.把Map转换成json, 要使用jsonObject对象:Map<String, Object> map = new HashMap<String, Object>();map.put("userId", 1001);map.put("userName", "张三");map.put("userSex", "男");JSONObject jsonObject = JSONObject.fromObject(map);System.out.println(jsonObject);
你找一个解析json的包,Gson 或者 fastjson ,把你收到的那个字符串 转换为 JsonObject对象,然后你用Map的操作方式来操作JsonObject就行了。顺便说下,json的格式比较复杂,它比Map的格式要复杂些,所以,你不可能把json完全转换为Map,如果格式是按你说的{"a":0,"b":1,"c":1,"d":1} 格式是固定的话,那你自己把JsonObject转换成Map就可以了
如何把map转成json字符串
把map转成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转换成json, 要使用jsonObject对象:Map<String, Object> map = new HashMap<String, Object>();map.put("userId", 1001);map.put("userName", "张三");map.put("userSex", "男");JSONObject jsonObject = JSONObject.fromObject(map);
jsonobject 和map的区别
jsonobject 和map的不同点如下:
(1)JSONObject 不可以存空,Map可以存空
(2)Map由jdk提供,JsonObject需要第三方架包提供
(3)转String后,数据格式不同。JsonObject是标准的json格式。请求第三方接口需要标准的json格式,一般使用JsonObject。
还没有评论,来说两句吧...