es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Flask Python: ¿Cómo realizar un salto de línea en formato JSON y devolverlo como HTML?

He estado tratando de hacer un salto de línea en el formato JSON, pero ninguno de ellos funciona.

from flask import *
import json

app = Flask(__name__)

@app.route("/user/", methods=["GET"])
def user():
    datajson = {"Author": "Stawa",
                "Version": "0.1.7"}
    json_format = json.dumps(datajson, indent=6)
    return render_template("index.html", json_format=json_format)

En index.html

<!DOCTYPE html>
<html lang="en">
   <head>
      <title>TEST</title>
      <meta charset="utf-8">
   </head>
   <body>
      <p>{{ json_format }}</p>
   </body>
</html>

La salida fue {“Author”: “Stawa”, “Version”: “0.1.7”}, pero quiero que sea así
“`
{
“Author”: “Stawa”,
“Version”: “0.1.7”
}

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para crear saltos de línea y sangría en el formato JSON, puedes utilizar el método json.dumps() con el argumento indent=2. Sin embargo, en tu código, ya has utilizado el argumento indent=6 para la sangría, pero la salida todavía no es la esperada.

    Para solucionar esto, puedes modificar tu archivo index.html de la siguiente manera:

    <!DOCTYPE html>
    <html lang="en">
       <head>
          <title>TEST</title>
          <meta charset="utf-8">
       </head>
       <body>
          <pre>{{ json_format }}</pre>
       </body>
    </html>
    

    Al utilizar la etiqueta pre, puedes preservar el formato de la salida JSON y mostrarlo con sangría y saltos de línea. El archivo index.html actualizado mostrará la salida JSON de la siguiente manera:

    {
          "Author": "Stawa",
          "Version": "0.1.7"
    }
    

Comments are closed.