python - json.dumps 编码多个字符串
问题描述
我最初将字符串解析为 json 格式并上传到 API。但是,我面临编码问题,所以我尝试使用 json.dmups 来解决这个问题。
我的原始代码:
for i in range(len(data)):
s = data[i]
x = '{"msg" : "' + s + '"}'
r = requests.post(url, data=x)
data = r.json()
但是如果我想使用 json.dumps 对字符串进行编码,我现在如果有单个字符串我可以:
x = json.dumps({"msg" : "' + str + '"})
但是,如果我的字符串 = data[i],我该怎么做?我试过了:
x = '{"msg" : "' + json.dumps(s) + '"}'
但它不起作用:
Invalid \escape: line 1 column 76 (char 75)
解决方案
双引号有错误。JSON 要求您使用双引号,但 python 会自动将它们转换为单引号。解决方案是这样的:
for piece in data:
x = json.dumps({'msg': piece})
r = requests.post(url, data=x)
data = r.json()
推荐阅读
- c# - 如何动态替换 json 附带的属性?
- json - 状态元素没有出现在带有 react-tooltip 的反应简单地图上
- javascript - 如何在 javascript 中使用 hapi/joi 框架验证包含特定类型对象的数组?
- here-api - 可以在此处的地图中设置位置精度指示器吗?
- c# - 正则表达式允许数字、破折号、逗号
- python-3.x - 如何通过对 36x60 大小的数据进行训练的神经网络预测不同的数据?
- php - 如何取消设置 Laravel 块中的引用变量传递?
- vb.net - 代理授权标头在 HttpWebRequest 中不起作用,以防对 URL 的 Rest 请求
- oracle - 对任何子表行的更新将整个父表锁定在 oracle
- laravel - Moodle 自动登录插件 - 如何将用户引导至特定课程?