如何在JSON中将变量作为值传递

5kgi1eie  于 2023-11-20  发布在  其他
关注(0)|答案(2)|浏览(107)

可以在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

e37o9pze

e37o9pze1#

如果您的查询格式为f字符串包含文字花括号,则需要在这种情况下将花括号加倍:

some_variable_from_code = "foo"
query_string = f"""{{"customer_id": {some_variable_from_code}}}"""
print(query_string)

字符串
结果:

{"customer_id": foo}

yzuktlbb

yzuktlbb2#

这里没有JSON。JavaScript Object Notation是数据的序列化表示。一旦你将其转换为python,它就不是JSON了。当你执行{some_variable_from_code}时,它是一个具有单个值的python集。你可以只执行

{
    "customer_id": some_variable_from_code
}

字符串
在创建python dict之后,它被序列化为JSON以进行调用,但这是在幕后进行的。

相关问题