一般公司对外openapi都会采用签名校验机制处理,现在公司用的MD5方式进行加密签名校验,之前的博客写过一篇自己对各种复杂参数的处理方式,但是之前的方式遇到一些特定的参数类型的时候转换出来的加密字符串有误(java为入门级无法解决了),因此做下改进:通过阿里的alibaba.fastjson包来快速处理复杂的参数。(在此特别吐槽下CSDN上的某些下载资源,阿里的alibaba.fastjson包都是开源的,某些人确将jar包资源放到网上下载都要收取25-50的C币)
一、获取alibaba.fastjson包:
看到的是原代码对吧,没关系,往下翻,你会看到:
没错,就是Download-->the latest JAR,你会下载到最新的alibaba.fastjsonJAR包(再次吐槽下CSDN上的某些有偿下载资源)。
alibaba.fastjson的使用:
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
示例:
Map map = new HashMap();
map.put("AAA", "1");
map.put("BBB", "2");
map.put("CCC", "3");
System.out.println("map=>"+map);
//1.map转string
String jsonString = JSON.toJSONString(map);
System.out.println("mapToString=>"+jsonString);
//2.map转jsonObject
JSONObject JSONObj = JSONObject.parseObject(JSON.toJSONString(map));
System.out.println("mapToJSON=>"+JSONObj);
//3.String转jsonObject
String jsonString2 = "{\"AAA\":\"1\",\"CCC\":\"3\",\"BBB\":\"2\"}";
JSONObject parseObject = JSONObject.parseObject(jsonString2);
System.out.println("StringToJson=>"+parseObject);
//4.String转map
Map stringToMap = JSONObject.parseObject(jsonString2);
System.out.println("StringToMap=>"+stringToMap);
String str = "{\"age\":\"24\",\"name\":\"summer\"}";
JSONObject jsonObject = JSONObject.parseObject(str);
//5.jsonObject转map
Map jsonToMap = JSONObject.parseObject(jsonObject.toJSONString());
System.out.println("jsonToMap=>"+jsonToMap);
//6.jsonObject转String
String jsonString3 = jsonObject.toJSONString();
System.out.println("jsonToString=>"+jsonString3);
二、jmeter BeanShell PreProcessor 中的使用示例:
ok,完美解决各种特定形式的参数处理