Saltar al contenido

Insertar JSON en MySQL usando Python

Indagamos por distintos sitios y así traerte la solución a tu problema, si tienes dificultades puedes dejar la pregunta y contestamos con mucho gusto.

Solución:

use json.dumps (json_value) para convertir su objeto json (objeto python) en un json string que puedes insertar en un campo de texto en mysql

http://docs.python.org/library/json.html

Para ampliar las otras respuestas:

Básicamente necesitas asegurarte de dos cosas:

  1. Que tiene espacio para la cantidad total de datos que desea insertar en el campo que está tratando de colocar. Diferentes tipos de campos de bases de datos pueden adaptarse a diferentes cantidades de datos. Consulte: Tipos de datos de cadena de MySQL. Probablemente desee los tipos “TEXT” o “BLOB”.

  2. Que está pasando de forma segura los datos a la base de datos. Algunas formas de pasar datos pueden hacer que la base de datos “mire” los datos y se confunda si los datos se parecen a SQL. También es un riesgo de seguridad. Ver: Inyección SQL

La solución para el n. ° 1 es verificar que la base de datos esté diseñada con el tipo de campo correcto.

La solución para el n. ° 2 es usar consultas parametrizadas (vinculadas). Por ejemplo, en lugar de:

# Simple, but naive, method.
# Notice that you are passing in 1 large argument to db.execute()
db.execute("INSERT INTO json_col VALUES (" + json_value + ")")

Mejor, usa:

# Correct method. Uses parameter/bind variables.
# Notice that you are passing in 2 arguments to db.execute()
db.execute("INSERT INTO json_col VALUES %s", json_value)

Espero que esto ayude. Si es así, házmelo saber. 🙂

Si aún tiene problemas, tendremos que examinar su sintaxis más de cerca.

Debería poder insertar intyo una columna de texto o blob fácilmente

db.execute("INSERT INTO json_col VALUES %s", json_value)

Si crees que te ha resultado provechoso nuestro post, sería de mucha ayuda si lo compartes con más desarrolladores de esta forma contrubuyes a extender nuestro contenido.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *