我正在尝试将python字典转换为下面的target
JSON对象。我想我会使用json.dumps()
(根据this thread),但结果并不相同。target
中有一些非统一的空格,但我不允许更改或编辑它们
你知道怎么做吗
import json
dict= {"token":{"name":"John Doe","code":"123456789"}}
target = '{ "token":{ "name":"John Doe", "code":"123456789" } }'
print(json.dumps(dict))
print(json.loads(json.dumps(dict)))
print(target)
>>>{"token": {"name": "John Doe", "code": "123456789"}}
>>>{'token': {'name': 'John Doe', 'code': '123456789'}}
>>>{ "token":{ "name":"John Doe", "code":"123456789" } }
对于其他上下文,我试图准备通过Bambora的支付API传递的参数。请参见与此here关联的cURL示例
目标JSON中有一些不必要的空白
您可以使用分隔符参数在逗号分隔符后获得一个空格
为了得到花括号周围的空格,恐怕需要使用基于正则表达式的替换
因为您正在比较字符串,所以如果两个字符串之间有一个空格不同,您将得到一个
False
结果。即使这两个结构在结构和数据方面实际上是相同的,也可能发生这种情况。 您真正想做的是找到一种从等式中删除非实质性格式问题的方法下面是如何修复代码以消除间距差异和其他非实质性差异的问题:
结果:
json.dumps()
返回{"token": {"name": "John Doe", "code": "123456789"}}'
它在每个括号
{
和}
的末尾没有空格,但您的一个字符串有空格此代码返回
True
:让我们仔细看看“白色空间”。
区别在于:(您的vs.json.dumps)
"code:"123"
与"code": "123"
{ "token"...
与{"token"...
"token":{ "name"...
与"token": {"name":..
或者,您可以比较两个没有空格的值,如下所示:
它还返回
True
相关问题 更多 >
编程相关推荐