使用python集合模块创建json子对象
我试图构建一个json文档,作为post正文请求传递给api 我从mssql中提取数据作为arrray列表,然后使用集合模型创建一个有序字典。需要有关如何创建子对象的帮助吗使用python集合模块创建json子对象,json,python-3.x,Json,Python 3.x,我试图构建一个json文档,作为post正文请求传递给api 我从mssql中提取数据作为arrray列表,然后使用集合模型创建一个有序字典。需要有关如何创建子对象的帮助吗 import json, collections rowarray_list = [] for row in rows: t = (row.NameLine1, row.NameLine2, row.Phone, row.Mobile, row.Fax, row.Slogan, row.Addr
import json, collections
rowarray_list = []
for row in rows:
t = (row.NameLine1, row.NameLine2, row.Phone, row.Mobile,
row.Fax, row.Slogan, row.Address, row.City, row.State, row.Zip,
row.Email, row.WebSite, row.ApplyOnline,
row.Preflight, row.Facebook, row.LinkedIn, row.Username)
rowarray_list.append(t)
objects_list = []
for row in rows:
d = collections.OrderedDict()
d['Name'] = row.NameLine1
d['Phone'] = row.Phone
d['Mobile'] = row.Mobile
d['Fax'] = row.Fax
d['Slogan']=row.Slogan
d['Address']=row.Address
d['City'] = row.City
d['State'] = row.State
d['Zip'] = row.Zip
d['Email']=row.Email
d['Website']=row.WebSite
d['ApplyOnline']=row.ApplyOnline
d['Preflight']=row.Preflight
d['Facebook']=row.Facebook
d['LinkedIn']=row.LinkedIn
d['Username']=row.Username
objects_list.append(d)
json.dumps(objects_list)
我希望json对象的构建方式如下:
{"type": "task1",
"body": {"Name": row.NameLine
"Phone": row.Phone
... }}
我似乎不知道该怎么做,我用另一种方法解决了这个问题。为每行创建一个dictionary对象并将其附加到dictionary列表。然后使用json库创建完整的json对象
rowarray_list=[]
for row in rows:
subdt = dict(Name=row.NameLine1, Title=row.NameLine2, Phone=row.Phone, Mobile=row.Mobile,
Fax=row.Fax, Slogan=row.Slogan, Address=row.Address, City=row.City, State=row.State, Zip=row.Zip, Email=row.Email, WebSite=row.WebSite, ApplyOnline=row.ApplyOnline,
Preflight=row.Preflight, Facebook=row.Facebook, LinkedIn=row.LinkedIn, Username=row.Username)
dt=dict(action='fetchView', body=subdt)
rowarray_list.append(dt)
print(json.dumps(rowarray_list))
cursor.close()
您的
json
格式只允许一个正文
dict
,没有列表,您不能发送多个行
s。你能修好你的缩进吗。rowarray\u list
是干什么的?对python和编程来说还是一点新鲜的东西,请原谅我的无知。我遵循这里使用的一些逻辑。“rowarray_list构建一个元组列表,数据库中的每一行变成一个元组”我使用marshmallow库并创建类来为每个记录构建字典和嵌套字典对象。我将结果添加到列表中,然后使用json.dumps根据我创建的字典列表构建json。