Как преобразовать массив json в объект json в функции лямбда-питона - PullRequest
0 голосов
/ 22 февраля 2019

Как преобразовать массив json в объект json в функции лямбда-питона. Ниже приведен мой лямбда-код:

import sys
import logging
import pymysql
import json
rds_host=".com"
name="name"
password="pass"
db_name="DB"
port = 3306
def save_events(event):
result = []
conn = pymysql.connect(rds_host, user=name, passwd=password, db=db_name, 
connect_timeout=30)
with conn.cursor() as cur:
  cur.execute("select * from bodyPart")
for row in cur:
  result.append(list(row))
print ("Data from RDS...")
print (result)
cur.close()
bodyparts = json.dumps(result)

def lambda_handler(event, context):
  save_events(event)
  return bodyparts

Ниже приведен ответ:

[[1, \"Chest\", \"link"], [2, \"Shoulder\", 
null], [3, \"Arms\", null]]

Как получитьответ как

 {id='1',
 name='chest',
 link='......', ....}

1 Ответ

0 голосов
/ 22 февраля 2019

В данный момент ваша функция save_events не упоминает о переданном событии. Но непосредственная проблема, о которой вы спрашивали, решается с помощью следующего кода:

result = []

conn = pymysql.connect(rds_host,
        user=name,
        passwd=password,
        db=db_name,
        connect_timeout=30)

cursor = conn.cursor()
cursor.execute("SELECT * FROM bodyPart")

data = cursor.fetchall()
#data = [[1, "Chest", "link"], [2, "Shoulder", None], [3, "Arms", None]]

element = {}
for row in data:
    element["ident"], element["name"], element["link"] = row
    result.append(element)

print("Data from RDS...")
print json.dumps(result)
conn.close()

Как уже упоминалось в комментарии, ваши строкиДиктовки не списки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...