为什么我不能使用urlencode编码json格式数据?

2023-11-26

我有一个关于 python 2.7 中的 urlencode 的问题:

>>> import urllib
>>> import json
>>> urllib.urlencode(json.dumps({'title':"hello world!",'anonymous':False,'needautocategory':True}))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.7/urllib.py", line 1280, in urlencode
    raise TypeError
TypeError: not a valid non-string sequence or mapping object

urlencode可以编码字典,但不能编码字符串。的输出json.dumps是一个字符串。

根据您想要的输出,要么不要以 JSON 形式对 dict 进行编码:

>>> urllib.urlencode({'title':"hello world!",'anonymous':False,'needautocategory':True})
'needautocategory=True&anonymous=False&title=hello+world%EF%BC%81'

或者将整个内容包装在一个字典中:

>>> urllib.urlencode({'data': json.dumps({'title':"hello world!",'anonymous':False,'needautocategory':True})})
'data=%7B%22needautocategory%22%3A+true%2C+%22anonymous%22%3A+false%2C+%22title%22%3A+%22hello+world%5Cuff01%22%7D'

or use quote_plus()反而 (urlencode uses quote_plus对于键和值):

>>> urllib.quote_plus(json.dumps({'title':"hello world!",'anonymous':False,'needautocategory':True}))
'%7B%22needautocategory%22%3A+true%2C+%22anonymous%22%3A+false%2C+%22title%22%3A+%22hello+world%5Cuff01%22%7D'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么我不能使用urlencode编码json格式数据? 的相关文章

  • 在Python3.6中调用C#代码

    由于完全不了解 C 编码 我希望在我的 python 代码中调用 C 函数 我知道有很多关于同一问题的问答 但由于一些奇怪的原因 我无法从示例 python 模块导入简单的 c 类库 以下是我所做的事情 C 类库设置 我使用的是 VS 20
  • Tensorflow 可变图像输入大小(自动编码器、放大......)

    Edit WARNING不建议使用不同图像大小的图像 因为张量需要具有相同的大小才能实现并行化 我一直在寻找解决方案 了解如何使用不同大小的图像作为神经网络的输入 Numpy 第一个想法是使用numpy 然而 由于每个图像的大小不同 我无法
  • python 中分割字符串以获得一个值?

    需要帮助 假设我在名为 input 的变量中有一个字符串 Sam Person name kind input split 通过执行上述操作 我得到两个具有不同字符串 Sam 和 Person 的变量 有没有办法只获取第一个值 name S
  • Paramiko - 使用私钥连接 - 不是有效的 OPENSSH 私钥/公钥文件

    我正在尝试找到解决方案 但无法理解我做错了什么 在我的 Linux 服务器上 我运行了以下命令 ssh keygen t rsa 这产生了一个id rsa and id rsa pub file 然后我将它们复制到本地并尝试运行以下代码 s
  • 带图像的简单 GUI [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我试图在简单的 GUI 上显示一些卡
  • json、rails、javascript 中的解析错误

    我需要将 ruby 数组放入 javascript 数组中 但出现解析错误 var characters 这就是我将 ruby 嵌入到内联 javascript 中的方式 但它出现了解析错误 我应该如何将此 ruby 数组放入 javasc
  • 如果字段值在外部列表中,Django 会注释布尔值

    想象一下我有这个 Django 模型 class Letter models Model name models CharField max length 1 unique True 还有这个列表 vowels a e i o u 我想查询
  • 定义函数后对其进行修饰?

    I think答案是否定的 但我似乎找不到明确的说法 我有以下情况 def decorated function function functools wraps function def my function print Hello s
  • 将输入发送到 python 子进程而不等待结果

    我正在尝试为一段代码编写一些基本测试 该代码通常通过 stdin 无休止地接受输入 直到给出特定的退出命令 我想检查程序是否在给出一些输入字符串时崩溃 经过一段时间来考虑处理 但似乎无法弄清楚如何发送数据而不是陷入等待我不知道的输出关心 我
  • Matplotlib Scatter - ValueError:RGBA 序列的长度应为 3 或 4

    我正在尝试为我的功能绘制图表 但不断收到此错误 ValueError RGBA sequence should have length 3 or 4 每当我只有 6 种形状时 代码就可以完美运行 但现在我将其增加到 10 种 它就不起作用了
  • Pandas Dataframe:将包含列表的行扩展到多行,并为所有列提供所需的索引

    我在 pandas 数据框中有时间序列数据 索引为测量开始时的时间 列中包含以固定采样率记录的值列表 连续索引 列表中元素数量的差异 这是它的样子 Time A B Z 0 1 2 3 4 1 2 3 4 2 5 6 7 8 5 6 7 8
  • 在 MacO 和 Linux 上安装 win32com [重复]

    这个问题在这里已经有答案了 我的问题很简单 我可以安装吗win32com蟒蛇API pywin32特别是 在非 Windows 操作系统上 我一直在Mac上尝试多个版本pip install pywin32 都失败了 下面是一个例子 如果你
  • 如何在与应用程序初始化文件不同的文件中迭代 api 路由

    我有一个 apiroutes py 文件 其中定义了许多路由 例如 api route api read methods GET api route api write methods POST 其中 api 是导入 from import
  • 如何通过字符串匹配加速 pandas 行过滤?

    我经常需要过滤 pandas 数据框df by df df col name string value 并且我想加快行选择操作 有没有快速的方法可以做到这一点 例如 In 1 df mul df 3000 2000 3 reset inde
  • Scipy 稀疏 Cumsum

    假设我有一个scipy sparse csr matrix代表下面的值 0 0 1 2 0 3 0 4 1 0 0 2 0 3 4 0 我想就地计算非零值的累积和 这会将数组更改为 0 0 1 3 0 6 0 10 1 0 0 3 0 6
  • 张量流:注册 numpy bfloat16 扩展

    正如我所见 tensorflow 中有 bfloat16 的 numpy 扩展 https github com tensorflow tensorflow blob 24ffe9f729160a095a5cab8f592392018280
  • Python 3.2 中 **kwargs 和 dict 有什么区别?

    看起来Python的很多方面都只是功能的重复 除了我在 Python 中的 kwargs 和 dict 中看到的冗余之外 还有什么区别吗 参数解包存在差异 许多人使用kwargs 并通过dict作为论据之一 使用参数解包 Prepare f
  • 全局变量是 None 而不是实例 - Python

    我正在处理Python 中的全局变量 代码应该可以正常工作 但是有一个问题 我必须使用全局变量作为类的实例Back 当我运行应用程序时 它说 back is None 这应该不是真的 因为第二行setup 功能 back Back Back
  • 检查字符串是否只有字母和空格 - Python

    试图让 python 返回一个字符串仅包含字母和空格 string input Enter a string if all x isalpha and x isspace for x in string print Only alphabe
  • 如何将列表字典写入字符串而不是 CSV 文件?

    This 堆栈溢出问题 https stackoverflow com questions 37997085 how to write a dictionary of lists to a csv file将列表字典写入 CSV 文件的答案

随机推荐

  • MSSQL:选择在另一个表中出现两次以上的行

    基本上我需要获取在 StaffOnGrade 中出现次数超过 2 次的 CampaignTitles 列表 并列出 Grade 评级高于 2 的 CampaignTitle StaffNo 工作表 CampaignTitle StaffNo
  • 最新 iOS 更新 (12.2) 后,本地存储中的视频无法在 WebView (Xamarin.Forms) 中播放

    我有一个适用于 Android 和 iOS 的现有 Xamarin Forms 应用程序 它在 WebView 中显示本地存储中的一些 HTML 内容 目的是在离线时查看此内容 在最新的 iOS 更新 12 2 后 该 HTML 中的视频停
  • PHP:将curl_exec输出转换为UTF8

    我只想使用 UTF8 问题是我不知道每个网页的字符集 我怎样才能检测到它并转换为UTF8
  • 为什么Java API 使用int 而不是short 或byte?

    为什么使用Java APIint when short甚至byte就足够了吗 示例 DAY OF WEEK课堂上的田野Calendar uses int 如果差异太小 那么为什么这些数据类型 short int 到底存在吗 其中一些原因已经
  • Flask-sqlalchemy 列的最大值

    可以说我有一个这样的用户模型 from flask import Flask from flask ext sqlalchemy import SQLAlchemy app Flask name app config SQLALCHEMY
  • 您可以在 Emacs Lisp 宏中创建交互式函数吗?

    我正在尝试在 emacs lisp 中编写一个宏来创建一些 辅助函数 最终 我的辅助函数将比我这里的更有用 我意识到可能有更好 更直观的方法来完成同样的事情 请发帖 但我的基本问题是为什么这不起作用 我做错了什么 defmacro deft
  • Angular:禁用整个类(服务或组件)的更改检测器

    如果通常导致更改检测运行的事件 setTimeout setInterval 浏览器事件 ajax 调用等 来自特定类 服务或组件 有没有办法完全禁用 Angular 的更改检测器 也就是说 当我发现setInterval在我的服务中注册会
  • 在 Elastic Beanstalk 中运行 cron 作业

    因此 我在 Django Elastic Beanstalk 应用程序中有一个功能 其工作原理如下 下载文件 解析文件 使用文件中的数据运行对 API 的一些调用 使用新数据更新 EB 实例的数据库 在测试实例中 我刚刚设置了本地 cron
  • NSSegmentedControl 颜色

    我想要一个 NSSegmentedControl 的子类 其中各个段具有不同的颜色 我尝试对 NSSegmentedControl 进行子类化并添加以下代码 void drawRect NSRect dirtyRect NSColor co
  • 重新定义golang中的const进行测试

    我正在为服务编写一个 http 客户端 并且为了测试我想使用net http httptest服务器而不是调用远程 API 如果我做到了 我可以轻松做到这一点baseUrl一个全局变量 设置为我的测试服务器的 url 然而 这使得生产代码更
  • 在 Delphi 2009 中我需要释放变体数组吗?

    如果我有一个只包含简单类型的变体数组 以及可能的简单类型的进一步变体数组 我是否需要执行任何显式操作来释放内存 或者这一切都为我处理好了 我一直以为没什么可做的 但我只是有一点疑问 变体是托管类型 它们由编译器的引用计数系统拥有 不需要手动
  • ios 延迟位置更新无法延迟

    我正在考虑对 iOS 活动跟踪器使用延迟位置更新 它允许在后台提供位置服务 我已经实现了建议的代码片段 见下文 在 Xcode 调试中 延迟位置会尝试启动几次 直到位置数据以大约每秒 1 次的速度传入 之后 它声称启动延迟成功 并且在指定时
  • .NET foreach 语句是否保证按照集合的构建顺序迭代集合?

    一位同事在他编写的一些 C 代码中使用了 for 循环来迭代 List 并留下了评论 没有使用 For Each 因为我不确定它是否按顺序迭代 谁知道 Microsoft 会做什么 例如 假设我们有一个像这样构建的列表 var someLi
  • 如何让Java注册一个带有空格的字符串输入?

    这是我的代码 public static void main String args Scanner in new Scanner System in String question question in next if question
  • 数据建模:逻辑建模练习

    在尝试学习数据存储艺术的过程中 我一直在尝试获取尽可能多的可靠信息 PerformanceDBA 在以下帖子中发布了一些非常有用的教程 示例 我的数据标准化了吗 and 关系表命名约定 我已经问过这个模型的一个子集问题here 因此 为了确
  • yocto:如何安装命令 locale 和 localedef?

    如何在 yocto 项目中为我的图像安装命令 locale 和 localedef 我已尝试以下操作 IMAGE INSTALL append glibc locale 但这不起作用 我该怎么做 locale位于一个名为glibc util
  • 了解 PKCE 与授权代码授予的优势

    我是 OAuth 世界的新手 我试图了解使用 PKCE 相对于传统授权代码授予的好处 我的许多假设可能是错误的 所以感谢您的指正 我是一名移动应用程序开发人员 根据 OAuth 文档 客户端机密不能在公共客户端的应用程序代码中进行硬编码 避
  • firebase云函数中的权限被拒绝

    在 firebase 云功能中 我在读取或写入实时数据库时在 admin firebase 上被拒绝访问 这https github com firebase firebase functions issues 16没有解决我的问题 App
  • DRF 中的动作装饰器不适用于 url_path

    我正在努力实现这样的终点 api messages
  • 为什么我不能使用urlencode编码json格式数据?

    我有一个关于 python 2 7 中的 urlencode 的问题 gt gt gt import urllib gt gt gt import json gt gt gt urllib urlencode json dumps titl