可以在SQL查询中放置代码中的任何变量,例如:
sqlalchemy_query= f'''
order_id,
order_sum
from some_table_name
where customer_id ={some_variable}
'''
字符串
正如你所看到的,这里的一切都很简单:f-string,我的变量在大括号里。很好,很简单,它可以工作。
然而,在noSQL DB的类似JSON查询中的花括号对我不起作用。我使用的是elasticsearch Python客户端的JSON查询。
{
...
"customer_id": {some_variable_from_code}
...
}
型
- 如何在Python中传递JSON字符串中的变量?*
有什么字符需要转义吗,like in .NET?
2条答案
按热度按时间e37o9pze1#
如果您的查询格式为f字符串包含文字花括号,则需要在这种情况下将花括号加倍:
字符串
结果:
型
yzuktlbb2#
这里没有JSON。JavaScript Object Notation是数据的序列化表示。一旦你将其转换为python,它就不是JSON了。当你执行
{some_variable_from_code}
时,它是一个具有单个值的python集。你可以只执行字符串
在创建python dict之后,它被序列化为JSON以进行调用,但这是在幕后进行的。