最近做项目外部调用需要对url 做转码,因为开始再js  上直接做单次调用模拟均没有问题,移植python 就出现问题,发现python 和js  数据转换的时候还是存在问题。

例如数据为这样

[{"sku_no":"10304026","amount":"98.00","storage_code":"001"},{"sku_no":"11399053","amount":"218.00","storage_code":"001"},{"sku_no":"11503078","amount":"65.00","storage_code":"001"}]

js 中转换

但是python中 字典数据是不能直接转的需要做处理。

from urllib import parse
import jsondata=[{"sku_no":"10304026","amount":"98.00","storage_code":"001"},{"sku_no":"11399053","amount":"218.00","storage_code":"001"},{"sku_no":"11503078","amount":"65.00","storage_code":"001"}]#ensure_ascii=False这个是为了防止字段转换json数据后会出现"变为'这个部分外部接口会解析失败。
datajson = json.dumps(requestData, ensure_ascii=False)
values =  parse.quote(datajson)

出来后的结果对比

%5B%7B%22sku_no%22%3A%2210304026%22%2C%22amount%22%3A98.00%2C%22storage_code%22%3A%22001%22%7D%2C%7B%22sku_no%22%3A%2211399053%22%2C%22amount%22%3A218.00%2C%22storage_code%22%3A%22001%22%7D%2C%7B%22sku_no%22%3A%2211503078%22%2C%22amount%22%3A65.00%2C%22storage_code%22%3A%22001%22%7D%5D%5B%7B%22sku_no%22%3A%20%2210304026%22%2C%20%22amount%22%3A%2098.0%2C%20%22storage_code%22%3A%20%22001%22%7D%2C%20%7B%22sku_no%22%3A%20%2211399053%22%2C%20%22amount%22%3A%20218.0%2C%20%22storage_code%22%3A%20%22001%22%7D%2C%20%7B%22sku_no%22%3A%20%2211503078%22%2C%20%22amount%22%3A%2065.0%2C%20%22storage_code%22%3A%20%22001%22%7D%5D

对比后发现

转换之后会默认增加空格。

因此会调用失败。

上面的代码也需要做相应的调整:

#%20 就是里面的空格
values =  parse.quote(datajson).replace("%20","")

这样出来后的数据就一致了。 再进MD5

加密或者调用都不会有问题。

python urldecode用法相关推荐

  1. Python pandas用法

    Python pandas用法 无味之味关注 12019.01.10 15:43:25字数 2,877阅读 91,914 介绍 在Python中,pandas是基于NumPy数组构建的,使数据预处理. ...

  2. python goto 用法

    python goto 用法 pip install goto-statement from goto import with_goto @with_goto def range(start, sto ...

  3. Python SQLite 用法

    Python SQLite 用法 具体可以参考网址 代码: #导入 import sqlite3 #连接库,如果数据库不存在,那么它就会被创建,最后将返回一个数据库对象. # test.db:数据路路 ...

  4. import的用法python_Python导入模块,Python import用法(超级详细)

    Python导入模块,Python import用法(超级详细) 使用 Python 进行编程时,有些功能没必须自己实现,可以借助 Python 现有的标准库或者其他人提供的第三方库.比如说,在前面章 ...

  5. python with用法

    @python with用法 python中with可以明显改进代码友好度,比如: [python] view plaincopyprint? with open('a.txt') as f: pri ...

  6. Python高级用法总结

    Python很棒,它有很多高级用法值得细细思索,学习使用.本文将根据日常使用,总结介绍Python的一组高级特性,包括:列表推导式.迭代器和生成器.装饰器. 列表推导(list comprehensi ...

  7. 数据库和python的结合_redis数据库及与python交互用法简单示例

    本文实例讲述了redis数据库及与python交互用法.分享给大家供大家参考,具体如下: redis数据操作 1.string类型:主要存储字符串 操作 命令 设置键值 set key value 设 ...

  8. python输出函数是什么_Python中打印函数使用概述,python,print,用法,总结

    输出的 print 函数总结: 1. 字符串和数值类型 可以直接输出 print(1) 1 print("Hello World") Hello World 2.变量 无论什么类型 ...

  9. Python break用法详解

    文章目录 Python break 用法 Python break 用法 我们知道,在执行 while 循环或者 for 循环时,只要循环条件满足,程序将会一直执行循环体,不停地转圈.但在某些场景,我 ...

最新文章

  1. 用户第一次登录后要求修改密码
  2. SQLite-Java-Hibernate类似hibernate的数据库辅助工具
  3. hive启用本地模式
  4. 【转载】中文输入法下onKeyPress不能触发的问题
  5. 挖掘机实现“无人驾驶”!协作机器人“魔法之手”取代人工操作
  6. Weka学习三(ensemble算法)
  7. Maplace.js – 小巧实用的 jQuery 谷歌地图插件
  8. Java回调函数使用
  9. python 4舍5入_python中的四舍五入
  10. GeeksForGeeks 翻译计划 | ApacheCN
  11. java ZipEntry 压缩 解压缩 在linux下中文乱码问题解决
  12. 阿里云服务器ECS到底是什么?
  13. 优锘科技:CMDB的本质以及它能解决什么问题?
  14. dotnet 配置 Gitlab 的 Runner 做 CI 自动构建
  15. “智慧高速公路”建设应重点提升“智慧化的出行服务”
  16. SQL Server附加数据库失败,823错误。
  17. 【C语言】模拟简单的《掘地求生Getting Over It》(源码)
  18. 废弃CSDN博客声明
  19. 卖座网一处SQL注射(Http Referer sqlinjection)
  20. rtl8211 smi读取_DM8148+RTL8211网卡uboot调试

热门文章

  1. 用Java编写程序,输入一个数,并且输出这个数以内的所有的水仙花数,所谓的水仙花数是值一个3位数,其各个位上数立方和等于其本身。
  2. Django开发收银系统三
  3. 更换pip下载源为国内源(pip加速下载,永久性)
  4. JAVA音频研究2:音频输入流(javax.sound学习指南,javax.sound学习实战)
  5. Matlab绘图(1)——二维绘图
  6. 自动操作魔法师4.9.0.0
  7. Codeforces Round #827 (Div. 4) G. Orray
  8. 网易传媒签约法国队、阿根廷队 世界杯独家内容盛宴即将开启
  9. Consistency Regularization
  10. 迅软信息签约一鸣食品 助力食品行业信息防泄密!