JSONObject转String的两种方式对比 1、new ObjectMapper().writeValueAsString(jsonObject);
JSONObject转String 使用new ObjectMapper().writeValueAsString(jsonObject);
JSONObject转String不改变里面参数类型如123 (Long类型)不会变成"123"(String类型)
2、String requestStr = jsonObject.toString();
JSONObject转String 使用jsonObject.toString();
JSONObject转String里面参数类型如123 (Long类型)会变成"123"(String类型)
有时候我们写回调接口是需要用到签名验证,但是签名规则是调用方提供的(调我们接口的人),而签名规则需要不改变入参顺序,而且不能改变参数类型,这是我们就需要用到包com.fasterxml.jackson.databind.ObjectMapper的writeValueAsString(Object value)方法也就是1、new ObjectMapper().writeValueAsString(jsonObject);
不然会导致对方的签名与我们生成的签名不匹配
*文章中涉及到的入参与返回如下
入参:
{
"name": "2GB",
"activityId": 1548441584811348787,
"desc": "描述",
"no": 1710954082,
"time": 1666260224000,
"code": "1200003",
"index": 0,
"actuaTime": 1666260281000,
"telephone": "146********",
"not": "15646846144884151",
"sCode": "15646486151",
"status": 50
}
/test接口返回
{"activityId":1548441584811348787,"no":1710954082,"actuaTime":1666260281000,"not":"15646846144884151","code":"1200003","sCode":"15646486151","name":"2GB","index":0,"telephone":"146********","time":1666260224000,"desc":"描述","status":50}
/test2接口返回
{"activityId":"1548441584811348787","no":1710954082,"actuaTime":"1666260281000","not":"15646846144884151","code":"1200003","sCode":"15646486151","name":"2GB","index":0,"telephone":"146********","time":"1666260224000","desc":"描述","status":50}