不一样的传值方式之Map型Json

不一样的传值方式

  • 首先咱们大多数的前端传值是拿实体(entity)来接收的,今天我要说的是另一种传值接收的方式,这种方式适合和数据库没有交互的时候使用还有就是在传实体的时候,需要把实体内的值进行加密而不是整体加密的时候
  • 咱们一般接收值使用的方法
@RequestMapping(value="/sysnc/heartbeat",method=RequestMethod.POST,produces = "application/json;charset=utf-8")
	@ResponseBody
	public JSONObject sysnc_heartbeat(Teachar teachar) {
	............................
	}
  • 而我今天要说的是这样的方式
@RequestMapping(value="/sysnc/heartbeat",method=RequestMethod.POST,produces = "application/json;charset=utf-8")
	@ResponseBody
	public JSONObject sysnc_heartbeat(String condition) {
	....................
	}
  • 大家可能很好奇String应该怎么解析呢?
  • 首先传过来的依旧是Json传 只不过是一个字符串,然后我们会通过一系列的方法把String化的Json串进行处理,代码如下:
JSONObject jsonObjectO= (JSONObject) JSON.parse(condition);
		    System.out.println(jsonObjectO.toString());
		    String con1=jsonObjectO.getString("head");
		   JSONObject jsonObjectS= (JSONObject) JSON.parse(keyword);
  • 这样既处理好一个复杂的String化Json(如{“heads”:{“token”:“xxxxx”,“version”:“xxxxx”},“body”:{“msg”:“xxxxxx”,“code”:“xxxxx”}})
    处理好后我们从jsonObjectS中取出自己想要的值。
jsonObjectS.getString("fromtype");
  • 大家肯定很好奇{“heads”:{“token”:“xxxxx”,“version”:“xxxxx”},“body”:{“msg”:“xxxxxx”,“code”:“xxxxx”}}这种Json怎么写是最简单的,我想大家最常用的肯定就是字符串拼接,我最近知道了另一种巨简便的方式代码如下
//head赋值
Map<String,Object> headMap=new HashMap<String,Object>();
		headMap.put("version","1.0");
		headMap.put("fromtype","143242453124234");
		headMap.put("sessionid","234235234234234234324324325324");
		headMap.put("time",time);
		headMap.put("token",MD5.getMD5ofStr("123456143242453124234"));
//body赋值	
		Map<String,Object> bodyMap=new HashMap<String,Object>();
		bodyMap.put("times", dates);
		bodyMap.put("msg", "成功");
		bodyMap.put("code", "1");
//把body和head的Map放到一个大Map中方便Json化
		Map<String,Object> paraMap=new HashMap<String,Object>();
		paraMap.put("head",headJson);
		paraMap.put("body",bodyJson);
//Json化装有body和head的Map
		JSONObject Reslut = new JSONObject(paraMap);
		//这样就会得到一个复杂型Json串
  • 最后打文不易请多多支持,谢谢各位。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值