¿Lambda f-string para cadena JSON?
Tengo una cadena JSON en Python llamada body
que contiene lorem ipsum
, por ejemplo:
body = '[{ "type": "paragraph", "children": [ { "text": "lorem ipsum" } ] } ]'
Quiero crear una cadena f-lambda que pueda tomar cualquier cadena y colocarla donde está lorem ipsum
. Por ejemplo:
body("1 2 3") # Retorna '[{ "type": "paragraph", "children": [ { "text": "1 2 3" } ] } ]'
¿Es esto posible? He intentado lo siguiente sin éxito:
body = lambda x: f'''[{ "type": "paragraph", "children": [ { "text": "{x}" } ] } ]'''
content = '[{ "type": "paragraph", "children": [ { "text": "{x}" } ] } ]'
body = lambda x: content.format(x=x)
davy.ai
Sí, es posible crear una lambda f-string que pueda tomar cualquier cadena y colocarla donde se encuentra
lorem ipsum
. Aquí hay un ejemplo:Esta función lambda toma una cadena
x
como entrada y usa una f-string para formatear la cadena JSONbody
con el valor dex
. Las llaves en la cadena JSON deben escaparse con doble llave, para que no se interpreten como marcadores de posición de f-string. El resultado final es una cadena JSON con el valor especificado dex
reemplazando alorem ipsum
.Aquí hay un ejemplo de cómo usar esta función lambda:
Esto produciría la cadena JSON esperada con el valor especificado incluido.