首页 > 解决方案 > 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)

标签: pythonjson

解决方案


双引号有错误。JSON 要求您使用双引号,但 python 会自动将它们转换为单引号。解决方案是这样的:

for piece in data:
    x = json.dumps({'msg': piece})
    r = requests.post(url, data=x)
    data = r.json()

推荐阅读