|
60精币
json 排序这个易语言资源太少了搞了2天一直没排序成功 哪位大佬能提供一个案例zyJsonValue 自带的排序也不好使啊
sig生成规则(空参数值不参与)
第一步:将请求参数数组按照key的ASCII码字典序升序排序(递归,子数组也要排序)
注意:boolean型的需要转换成0或者1再进行sig的字符串拼接否则会签名不匹配
请求参数举例 - {"tags":[],"shop_id":"3592793253","sub_balance":"7500","diy_gift_coupon_pay":[],"remark":null,"sub_credit":"0","cno":"1177984","cashier_id":"-1","count_num":null,"gift_coupons_ids":["1585459235115551493"],"activity_ids":[],"biz_id":"7177798788424091240","deno_coupon_ids":["1585300479841897178"],"payment_mode":"1","payment_amount":"0","products":[{"tags":[],"num":"1","price":"4800","no":"9003","name":"荷花乌鱼片","is_activity":"2"}],"consume_amount":"17300","credit_amount":null}
排序并urlencode后结果 - biz_id=7177798788424091240&cashier_id=-1&cno=1177984&consume_amount=17300&deno_coupon_ids%5B0%5D=1585300479841897178&gift_coupons_ids%5B0%5D=1585459235115551493&payment_amount=0&payment_mode=1&products%5B0%5D%5Bis_activity%5D=2&products%5B0%5D%5Bname%5D=%E8%8D%B7%E8%8A%B1%E4%B9%8C%E9%B1%BC%E7%89%87&products%5B0%5D%5Bno%5D=9003&products%5B0%5D%5Bnum%5D=1&products%5B0%5D%5Bprice%5D=4800&shop_id=3592793253&sub_balance=7500&sub_credit=0
|
|
最佳答案
查看完整内容
[e=2].版本 2
.子程序 字典序排列, 文本型
.参数 formStr, 文本型
.局部变量 name, 文本型, , "0"
.局部变量 i, 整数型
.局部变量 j, 整数型
.局部变量 temp, 文本型
.局部变量 form, 文本型
name = 分割文本 (formStr, “&”, )
.计次循环首 (取数组成员数 (name), i)
.变量循环首 (i + 1, 取数组成员数 (name), 1, j)
.如果真 (name > name [j])
temp = name
name = name [j]
...
|