def query_db(query, args=(), one=False):
cur = connection.cursor()
cur.execute(query, args)
r = [dict((cur.description[i][0], value)
for i, value in enumerate(row)) for row in cur.fetchall()]
cur.connection.close()
return (r[0] if r else None) if one else r
my_query = query_db("select top 1 email as email_address,status = 'subscribed',firstname,lasstname from users")
json_output = json.dumps(my_query)
print json_output
Результат таков:Как реструктурировать ниже данных JSON, который является результатом набор SQL запросов с использованием курсоров в питона
[{
"status": "subscribed",
"lastname": "Engineer",
"email": "[email protected]",
"firstname": "The"}]
, что я хочу это
{
"email_address":"[email protected]",
"status":"subscribed",
'merge_fields': {
'firstname': 'yash',
'lastname': 'chakka',
}
У меня нет столбца с именем merge-fields в базе данных, но я хочу этот заголовок слияния для каждого идентификатора электронной почты с именем и фамилией под ним, чтобы отправить его в Mailchimp. какую модификацию я должен сделать, чтобы мой курсор получил желаемый результат. Любая помощь будет оценена. Благодаря!
Если вы» re running SQL 2016, вы можете использовать 'FOR JSON' и делать там форматирование. К сожалению, у меня нет опыта, чтобы помочь с аспектом python. Ресурс, если вы заинтересованы https://msdn.microsoft.com/en-us/library/dn921882.aspx – Xedni
Спасибо за ссылку! К сожалению, я использую SQL Server 2012. –
. Это вряд ли прямая замена, но это заставило меня задуматься над тем, как вы можете это сделать. Ответ на этот вопрос казался, что у него были некоторые сходные черты в том, что вы пытаетесь сделать. http://stackoverflow.com/questions/23255512/creating-nested-json-structure-with-multiple-key-values-in-python-from-json – Xedni