和其他平台对接口,请求过去验签必须顺序一致,就很离谱,一点都不科学,没办法,只能想办法按照他们的顺序把参数封装成json生成签名发过去。
原来使用的是:
JSONObject jsonParam= new JSONObject();
jsonParam.put("name","test");
jsonParam.put("id","13143132");
jsonParam.pit("cityCode","1231");
输出结果可能是:
{“name”:“test”,“id”:“13143132”,“cityCode”:“1231”}
也有可能不是。
为了确保数据顺序按照我们的要求设定完成json转换:
import com.alibaba.fastjson.annotation.JSONField;
@Data
public class testDemo{
@JSONField(ordinal = 1)
private String id;
@JSONField(ordinal = 2)
private String name;
@JSONField(ordinal = 3)
private String cityCode;
}
输出结果必然是:
{“id”:“13143132”,“name”:“test”,“cityCode”:“1231”}
记录平时开发遇见的小问题。