String 转 alibaba.fastjson.JSONObject "被"排序的问题

场景 : 

加签方 按照他们的参数顺序进行加签

我方使用JSONObject的接收 取出需要验签的参数进行验签

在对接加/验签的时候出现验签错误的情况

--------------------------------------------------------------------------------------------------------------------------

问题:

String 字符串转 json  "被排序"

--------------------------------------------------------------------------------------------------------------------------

经过进一天的排查,发现,使用JSONObject 接收传过来的字符串 序列化成json对象后 

fastjson.JSONObject  底层会自动将 json中参数进行首字母的"自然排序"

这是一个大坑

解决方案:

JSONObject json = JSONObject.parseObject(str, Feature.OrderedField);

接收的时候设置Feature.OrderedField,这样就不会对参数进行排序

 

你可能感兴趣的:(工作学习日记,java--知识点)