我有一个代码,使最后一部分的URL所需的值。但我有问题。
完整的URL是:
https://api-mainnet.magiceden.dev/v2/mmm/pools?collectionSymbol=funkyacademy&limit=500&offset=0&filterOnSide=1&hideExpired=true&direction=1&field=5&attributesMode=1&attributes=[{'attributes':[{'traitType':'BODY1','value':'Boy1'}]}]
我的角色是:&attributes=...
代码中有'*some text*'
,但我需要"*some text*"
。
现在:&attributes=[{'attributes':[{'traitType':'BODY1','value':'Boy1'}]}]
需求:&attributes=[{'attributes':[{"traitType":"BODY1","value":"Boy1"}]}]
我的代码是:
all = task['One Value'].split(', ')
typee = task['One Type']
table = [
{
"attributes": []
}
]
for val in all:
ex = {
"traitType": typee.replace(' ', '+'),
"value": val.replace(' ', '+')
}
table[0]["attributes"].append(ex)
attributes=str(table).replace(' ', '')
print(self.POOLS_URL.format(collection_name=collection_name, offset=0, atr=attributes))
如何将“”更改为“”?
1条答案
按热度按时间z4bn682m1#
下一次发布一个独立的代码相关部分的例子会很有帮助。不清楚您是如何获得您向我们显示的URL的。从我在您的代码中看到的内容来看,您似乎使用了一个名为
self.POOLS_URL
的模板字符串,并使用来自attributes
的值填充它。现在直接回答你的问题很简单:在dict上调用
str
将使用单引号。它并不打算给予你有效的JSON,只是一个人类可读的表示。您正在寻找的是
json.dumps
。该方法将值编码为有效的JSON,例如。例如,在它们应该在的地方加上双引号。然而,我建议不要手工构建这样的URL。它很麻烦,而且容易出错,在大多数重要的情况下都应该避免。
您正在调用的API似乎有一个neat documentation page,其中包含示例代码,您可以依靠它来实现
http.client
或requests
(或它们覆盖的其他几种语言)中的http客户端逻辑。.)从长远来看,这可能会为您节省一些不必要的麻烦。